Confirmações incluídas em DevOps solicitação de mudança
. DevOps o pacote de artefato e suas versões de artefato associadas são usados para determinar quais confirmações estão incluídas em um DevOps mudança.
| Tipo de mudança | Confirmações incluídas |
|---|---|
| Manual | Confirmações das versões de artefato do pacote na mudança. Além disso, as confirmações de execuções de tarefas de todas as execuções de pipeline no registro de referência de mudança quando a coluna data_type é plano ou a execução de pipeline são incluídas. |
| Automatizado |
|
- Versão principal 2
- Versão secundária 0
- Patch/hotfix versão 1
Execuções de tarefa com falha entre as versões de artefato anterior e atual que não criaram um artefato, mas têm confirmações associadas, também são associadas à versão do artefato criada.
Tipos de confirmações
- Confirmações normais: As confirmações no repositório rastreado estão associadas à solicitação de mudança.
- Confirmações de reversão: Confirmações que têm o valor do campo Reverter como 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.
- Confirmações de mesclagem: Confirmações que têm o valor do campo de mesclagem como verdadeiro.
- Confirmação de mesclagem: A árvore de origem rastreia a confirmação em 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. Mesclar confirmação adiciona uma nova confirmação na ramificação principal.
- Squash e mesclagem: O squash 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. Squash e mesclar mantém as mudanças, mas remove as confirmações individuais do histórico. Ele tem uma confirmação única com o valor de mesclagem como 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ças, 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, semântica versão 1,0.1) não está incluída no pacote porque a sintaxe da versão semântica indica um patch ou correção. |
|||
| 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, semântica versão 1,1.1) não está incluída porque a sintaxe da versão semântica indica um patch ou correção. |
|||
| 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, semântica versão 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: Confirmar lógica de cálculo
Caso de uso com a lógica para calcular confirmações associadas a versões de artefato. As informações da 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. Cenário de execução:
- Confirmar C0 na principal, execute a compilação do IC, mas não crie a versão do artefato.
- Confirmar C1 no teste, execute a compilação de IC, mas não crie a versão do artefato.
- Criar uma confirmação C2 na principal, executar a compilação do IC e a compilação falhar.
- Criar 2 confirmações C3,c4 na main, executar uma compilação de IC e criar uma versão de artefato (v1.0).
- Confirmar 1 C5 na principal, executar a compilação de IC, mas não criar a versão do artefato.
- Confirmar 1 c6 no main, executar compilação de IC e criar uma versão de artefato (v2.0).
- Todas as confirmações de execuções de pipeline (sucesso e falha) na mesma ramificação, entre a última versão do artefato para um determinado artefato e a versão atual do artefato, são associadas.
- Se nenhuma versão de artefato anterior para o artefato fornecido for encontrada, 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 A partir da etapa anterior, tenha um pipeline de CD com o tipo de etapa Prod Deploy.
- 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 confirma C0, C2, C3, C4, C5, C2.
- Confirmações de ambas as versões do Artifact (v1.0, v2.0) criadas na ramificação principal (nenhum pacote anterior foi implantado na Prod) 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á igual ao 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 o tipo de etapa Prod Deploy.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 Artifact criada na ramificação principal, pois as confirmações de versões anteriores do Artifact criadas na ramificação principal foram implantadas na Prod 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á igual ao número na ferramenta.