Liberações são implementadas por implementações. Uma implementação visa uma fase única e seu ambiente associado (cada fase tem um ambiente único associado a ela). Uma implementação pode ser abrangente e usar todos os aplicativos em uma liberação, representar uma implementação emergencial exclusiva de, digamos, um único aplicativo ou qualquer outra coisa. Implementações podem ser tão precisamente visadas conforme necessário.
Implementações do IBM® UrbanCode Release reunem:
O planejamento que define quando a implementação ocorrerá e especifica se será um evento único ou recorrente
Notificações por email que são acionadas por eventos definidos pelo usuário e enviadas para um determinado usuário ou uma função de usuário
Aprovações necessárias
Implementações, ou planos de implementação, são compostas de segmentos. Um segmento representa as atividades de liberação que são projetadas para serem concluídas juntas. Um segmento pode ser configurado para execução após a conclusão bem-sucedida de outro segmento ou pode ser executado independentemente de qualquer outro segmento. Um plano de implementação pode ter qualquer número de segmentos. O plano padrão possui dois segmentos: Tarefas Pré-implementação e Tarefas de Implementação.
Depois de um plano de implementação ser definido, uma implementação pode ser iniciada a qualquer momento com uma solicitação de implementação. Uma solicitação de implementação pode iniciar uma implementação inteira ou parte do plano, como um segmento individual.
Certifique-se de que cada equipe tenha um plano de fallback além do principal. O plano de fallback pode ser tão simples quanto reverter para uma versão antiga até que os bloqueios sejam resolvidos.
Uma implementação ad hoc é, como o nome diz, uma implementação não planejada. Implementações ad hoc podem ser planejadas a qualquer momento, o que significa que você não precisa definir uma lista exaustiva das implementações durante o planejamento de liberação.
Testes em progressões de ambiente típico são importantes, incluindo janelas recorrentes, mas seja flexível o suficiente para redefinir ambientes se os ambientes esperados ficarem indisponíveis.
Normalmente, a fila de aplicativos é definida quando a liberação é criada. Aplicativos que estão associados à liberação são disponibilizados automaticamente para qualquer implementação que use a liberação. Os aplicativos e conjuntos de aplicativos podem ser promovidas para versões liberadas. Geralmente, uma versão liberada representa um aplicativo (ou conjunto) que foi implementado com êxito e que pode ser reutilizado de forma confiável.
Além disso, é possível incluir aplicativos em uma liberação após as implementações serem planejados para ela. Novos aplicativos se tornam parte de qualquer implementação futura ou em andamento.
Atividades de implementação são definidas por tarefas. Uma tarefa individual é uma unidade de trabalho que pode representar qualquer atividade significativa para os negócios que está associada a uma liberação. Tarefas podem ser configuradas para serem executadas uma vez ou toda vez que o plano de implementação for usado. Uma tarefa pode ser designada a uma função de usuário ou usuário específico; se não for designada, ela pode ser solicitada por qualquer pessoa com a função de requisito. Depois que uma tarefa é definida, ela é incluída na biblioteca de tarefa e fica disponível para outras implementações.
Quando uma tarefa é criada, ela recebe uma duração, que é uma estimativa do tempo que ela leva para ser concluída. IBM UrbanCode Release agrega durações de tarefas para calcular os tempos de implementação gerais.
As tarefas podem ser automatizadas ou manuais. Tarefas automatizadas são provenientes de integrações com ferramentas externas. Processos de aplicativos de aplicativos IBM UrbanCode Deploy, por exemplo, estão disponíveis como tarefas automatizadas no IBM UrbanCode Release.
Tarefas manuais podem representar qualquer tarefa não automatizada, como parar ou iniciar um servidor. Ao contrário dos marcos que são definidos para a liberação geral, as tarefas manuais (e tarefas automatizadas) estão conectadas a uma determinada fase e segmento. Um segmento pode ser considerado um agrupamento de tarefas que são planejadas para serem concluídas ao mesmo tempo.
Normalmente, as tarefas são definidas na página Implementações Planejadas no aplicativo da web, mas elas também podem ser exportadas e importadas (como arquivos CSV).
Versões de aplicativo podem ter status de qualidade. Status de qualidade asseguram que versões de aplicativo atendam alguns requisitos de qualidade esperados. Os status podem ser designados manualmente ou por meio da integração com ferramentas externas.
Aprovações e portas podem ficar temporariamente suspensas sempre que uma implementação emergencial for necessária.
Uma aprovação é um mecanismo que é usado para controlar ambientes, independentemente de considerações de qualidade (status). As aprovações são anexadas às fases. Uma liberação que requer aprovação não pode continuar com uma fase até que a aprovação seja concedida. Aprovadores são geralmente designados por função de usuário. Qualquer usuário com a função designada pode responder a uma solicitação de aprovação. Se, por exemplo, a fase de QA requerer aprovação do gerente de liberação, a liberação não poderá prosseguir até que a aprovação seja concedida por alguém com a função de gerente de liberação. Usuários específicos também podem ser designados para fazer aprovações.
Se uma implementação planejada que requer aprovação atingir seu horário de início sem receber aprovação, a fase não prosseguirá e será considerada rejeitada pelo aprovador.