Lançamento de Versão¶
Lançamento
À medida que fluxos de mudanças chegam ao branch de produção e são versionados em lotes, uma parte essencial da entrega/implantação contínua é produzir artefatos a partir de versões que podem então ser implantados em vários destinos.
Lançamentos são iterações de software implantáveis que você pode empacotar e disponibilizar para um público mais amplo baixar e usar.
Como determinamos quando criar um lançamento? Vamos ver...
Exercício: Criar um Lançamento de Versões¶
Como você já pode imaginar, o GitHub fornece um evento que encapsula a atividade de criar uma tag e enviá-la para um repositório. Vamos automatizar o tratamento de tais eventos, para que possamos criar um lançamento quando necessário.
Implementar Criação de Lançamento¶
No explorador de arquivos, crie um novo fluxo de trabalho .github/workflows/continuous.delivery.yml
da seguinte forma:
.github/workflows/continuous.delivery.yml | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
|
Análise¶
-
Linhas
3 - 6
O fluxo de trabalho de criação de lançamento será acionado por envios de tags e quando a versão da tag enviada tiver o sufixo de metadados
-release
. -
Linhas
29 - 34
Nos dois passos incluídos aqui, o site é compilado e arquivado como um artefato de lançamento.
-
Linhas
39 - 43
Um GitHub App será usado como o ator para as operações que executaremos. Portanto, a ação
actions/create-github-app-token@v1
é usada aqui para gerar um token de autorização para o aplicativo.O que é um GitHub App?
GitHub Apps, muito semelhantes a
contas de serviço
ebots
, são ferramentas que estendem a funcionalidade do GitHub. Você pode criar um GitHub App para fornecer flexibilidade e reduzir atrito em seus processos, sem precisar fazer login como usuário ou criar uma conta de serviço . GitHub Apps podem fazer coisas no GitHub como abrir issues, comentar em pull requests e gerenciar projetos. Eles também podem fazer coisas fora do GitHub com base em eventos que acontecem no GitHub. Por exemplo, um GitHub App pode postar no Slack quando uma issue é aberta no GitHub.Quando você usa o
GITHUB_TOKEN
do repositório para executar tarefas, eventos acionados peloGITHUB_TOKEN
, com exceção de workflow_dispatch e repository_dispatch, não criarão uma nova execução de fluxo de trabalho. Isso evita que você crie acidentalmente execuções de fluxo de trabalho recursivas. Por exemplo, se uma execução de fluxo de trabalho envia código usando oGITHUB_TOKEN
do repositório, um novo fluxo de trabalho não será executado mesmo quando o repositório contém um fluxo de trabalho configurado para ser executado quando ocorrerem eventos de push.Portanto, estamos autorizando operações como um GitHub App para permitir que a execução da operação acione ainda mais execuções de fluxo de trabalho, possivelmente.
-
Linhas
45 - 70
Um lançamento
rascunho
é criado pela respectiva etapa, permitindo a modificação do lançamento antes de publicá-lo. O lançamento faz referência à tag que acionou o fluxo de trabalho. -
Linhas
72 - 81
Esta etapa aproveita a API ReST do GitHub para ajustar o rascunho de lançamento criado anteriormente, especificamente adicionando o arquivo arquivado criado na etapa
Archive Site
ao lançamento como um ativo. -
Linhas
83 - 105
Tendo rascunhado o lançamento e anexado ativos implantáveis a ele, a etapa
Publish release
finalmente publica o lançamento alterando o estado do atributodraft
parafalse
.
Fazer commit e publicar suas alterações¶
Você pode vincular suas alterações a uma issue
Lembre-se da issue que você criou anteriormente e seu respectivo número, você o usará para vincular suas alterações atuais à issue.