#github #release #github-actions
#github #выпуск #github-действия
Вопрос:
В настоящее время мы изучаем действия Github (на Github Enterprise), и мне было интересно, есть ли какие-либо рекомендации о том, как наилучшим образом создавать релизы с помощью действий Github.
Чего мы хотим достичь:
- Каким-либо образом вручную запускать / утверждать / «продвигать» релиз
- создавайте артефакты с чистой семантической версией, например, 1.2.3
- создавайте (не связанные с выпуском) моментальные снимки с уникальными промежуточными версиями, например 1.2.3-dev.14667 f39a61d (как создано плагином Nebula Release для сборок Gradle)
- отметьте выпущенный коммит
- для нас нормально заново создавать код для выпуска, чтобы получить правильную версию выпуска (не обязательно продвигать те же артефакты, которые были созданы ранее)
- необязательно: ограничить выпуски выпуском и основными ветвями
Я экспериментировал с функцией выпуска Github и зарегистрировал действие сборки для этого события, которое затем создает созданную версию. Ниже приведена упрощенная версия этого рабочего процесса:
name: Build Release
on:
release:
types: [ published ]
jobs:
build:
runs-on: [ self-hosted ]
steps:
- name: "Building release"
run: echo Building release version ${{ github.event.release.tag_name }}
- name: Build with Gradle
run: ./gradlew build publish -Prelease.version=${{ github.event.release.tag_name }}
Таким образом, вы можете создать новый выпуск, создав выпуск на Github, добавив все детали и опубликовав его. Затем запускается сборка и создаются соответствующие артефакты.
Хотя этот рабочий процесс в порядке, мне было интересно, есть ли какие-либо другие рекомендации по созданию релизов. Я не смог найти ни одного, и поиски в этой теме всегда приводят к отдельным действиям Github, но не к обсуждениям более высокого уровня.