Confirmações incluídas na solicitação de mudança DevOps
O pacote de artefatos DevOps e suas versões de artefatos associadas são usados para determinar quais confirmações estão incluídas em uma mudança DevOps.
| Tipo de mudança | Confirmações incluídas |
|---|---|
| Manual | Confirma a partir das versões de artefato do pacote na mudança. Além disso, as confirmações de execuções de tarefa de todas as execuções de pipeline no registro de referência de mudança quando a coluna data_type é plano ou execução de pipeline são incluídas. |
| Automatizado |
|
- Versão principal 2
- Versão secundária 0
- Versão de patch/Hotfix 1
As execuções de tarefa com falha entre as versões anterior e atual do artefato que não criaram um artefato, mas têm confirmações associadas, também são associadas à versão do artefato criado.
Tipos de confirmações
- Confirmações normais: as confirmações no repositório rastreado são associadas à solicitação de mudança.
- Reverter confirmações: confirmações que têm o valor do campo de reversão verdadeiro. Uma confirmação de reversão resulta em uma confirmação revertida e uma confirmação de reversão na árvore de origem. Ambas as confirmações não estão associadas à solicitação de mudança.
- Mesclar confirmações: confirmações que têm o valor do campo de mesclagem como verdadeiro.
- Mesclar confirmação: a árvore de origem rastreia a confirmação para uma ramificação ao longo do tempo e permite que uma confirmação de mesclagem especial seja feita. Esta confirmação de mesclagem combina as confirmações primárias localizadas diretamente após a confirmação comum mais recente na ramificação atual e na ramificação a ser mesclada. A confirmação de mesclagem adiciona uma nova confirmação na ramificação principal.
- Squash e mesclagem: a compactação durante uma mesclagem gera a árvore de trabalho e o estado do índice para corresponder a uma mesclagem sem criar uma confirmação de mesclagem. Comprimir e mesclar mantém as mudanças, mas remove as confirmações individuais do histórico. Ele tem uma única confirmação com o valor de mesclagem verdadeiro.
Exemplo: confirmações e pacotes
- Três pipelines de compilação (A, B e C)
- Um pipeline de versão (ABC) sob controle de mudança, com quatro pacotes:
- Criar pipeline A (versão principal 1)
- Criar pipelines A e B (versão principal 1)
- Criar pipelines B e C (versão principal 1)
- Criar pipelines A, B e C (versão principal 1)
| Confirmar | Criar pipeline | Versão de semântica | Incluído no pacote |
|---|---|---|---|
| 1 | A | 1.0.0 | X |
| 2 | A | 1.0.1 | -- |
| 3 | A | 1.1.0 | X |
Nota: A confirmação 2 (compilação A, versão semântica 1.0.1) não está incluída no pacote porque a sintaxe da versão semântica indica um patch ou hotfix. |
|||
| Confirmar | Criar pipeline | Versão de semântica | Incluído no pacote |
|---|---|---|---|
| 4 | A | 1.1.1 | -- |
| 5 | A | 1.2.0 | X |
| 6 | A | 1.2.0 | X |
| 7 | B | 1.0.0 | X |
| 8 | B | 1.0.0 | X |
| 9 | B | 1.1.0 | X |
| 10 | B | 1.1.0 | X |
Nota: A confirmação 4 (compilação A, versão semântica 1.1.1) não está incluída porque a sintaxe da versão semântica indica um patch ou hotfix. |
|||
| Confirmar | Criar pipeline | Versão de semântica | Incluído no pacote |
|---|---|---|---|
| 11 | A | 1.3.0 | -- |
| 12 | B | 1.2.0 | X |
| 13 | B | 1.2.0 | X |
| 14 | C | 1.0.0 | X |
| 15 | C | 1.0.0 | X |
| 16 | C | 1.0.0 | X |
Nota: A confirmação 11 (compilação A, versão semântica 1.3.0) não está incluída porque o pacote não especifica a compilação A. |
|||
| Confirmar | Criar pipeline | Versão de semântica | Incluído no pacote |
|---|---|---|---|
| 17 | A | 1.4.0 | X |
| 18 | A | 1.4.0 | X |
| 19 | B | 1.3.0 | X |
| 20 | B | 1.3.0 | X |
| 21 | C | 1.1.0 | X |
| 22 | C | 1.1.0 | X |
| 23 | C | 1.2.0 | X |
| 24 | C | 1.2.0 | X |
Nota: A confirmação 11 também está incluída neste pacote porque faz parte das mudanças na versão principal 1 da compilação A desde que o último pacote (incluindo a versão principal 1 da compilação A), pacote nº 2, foi implantado na produção. |
|||
Exemplo: lógica de cálculo de confirmação
Caso de uso com a lógica para calcular confirmações que são associadas a versões de artefatos. As informações de ramificação são incluídas sempre que as confirmações são definidas.
Por exemplo, considere dois pipelines, um na ramificação principal e um na ramificação de teste. Executar cenário:
- Crie um C0 de confirmação no principal, execute a compilação de IC, mas não crie a versão do artefato.
- Crie uma confirmação C1 no teste, execute a compilação de IC, mas não crie a versão do artefato.
- Crie uma confirmação C2 em principal, execute a compilação de IC e a compilação falhará.
- Crie 2 confirmações C3, C4 em principal, execute uma compilação de IC e crie uma versão de artefato (v1.0).
- Crie 1 confirmação C5 no principal, execute a compilação de IC, mas não crie a versão do artefato.
- Crie 1 confirmação C6 em principal, execute a compilação de IC e crie uma versão de artefato (v2.0).
- Todas as confirmações de execuções de pipeline (com sucesso e com falha) na mesma ramificação, entre a última versão do artefato de um determinado artefato e a versão atual do artefato, estão associadas.
- Se nenhuma versão do artefato anterior for encontrada para o artefato fornecido, todas as confirmações de execuções de pipeline na mesma ramificação serão associadas.
Continuando com o caso de uso:
Crie uma versão com a Versão do artefato da etapa anterior, tenha um pipeline de CD com Tipo de etapa = Implantação de produção.
- A versão está associada à mesma versão do artefato (v2.0).
- A solicitação de mudança criada mostra a versão do artefato (v2.0) e as confirmações C0, C2, C3, C4, C5, C6.
- As confirmações de ambas as versões de artefato (v1.0, v2.0) criadas na ramificação principal (nenhum pacote anterior foi implantado na produção) são mostradas na solicitação de mudança, mas não na confirmação da execução na ramificação de teste.
- O número de confirmações mostrado na solicitação de mudança será o mesmo que o número na ferramenta.
- Crie 2 confirmações C7, C8 na ramificação de teste, execute a compilação de IC e crie uma versão de artefato.
Resultado esperado: a versão do artefato (v3.0) está associada a C1, C7, C8.
- Crie 2 confirmações C9, C10 na ramificação principal, execute a compilação de IC e crie uma versão de artefato.
Resultado esperado: a versão do artefato (v4.0) está associada a C9, C10.
- Crie uma versão com a versão do artefato da etapa anterior (v4.0), tenha um pipeline de CD com tipo de etapa = Implantação de produção.Resultado esperado:
- A versão está associada à versão do artefato (v4.0).
- A solicitação de mudança criada mostra a versão do artefato (v4.0) e confirma C9, C10.
- A solicitação de mudança mostra confirmações apenas da versão mais recente do artefato criada na ramificação principal, já que as confirmações das versões anteriores do artefato criadas na principal foram implantadas na produção no pacote anterior.
- Nenhuma confirmação da versão do artefato criada no teste é mostrada.
- O número de confirmações mostrado na solicitação de mudança será o mesmo que o número na ferramenta.