Olá, quando defino os stages pre-build e build, a pipeline já sequencia os jobs. Por que então o uso de "dependencies: - build-docker" ?
Olá, quando defino os stages pre-build e build, a pipeline já sequencia os jobs. Por que então o uso de "dependencies: - build-docker" ?
Olá Roger, tudo bem? Peço desculpas pela demora em ti responder! Bem, precisarmos definir as dependências para que o job só seja iniciado após a conclusão do job que informamos como dependência. Por exemplo, temos um job build-project e seu stage é o stage de build e informamos que esse job tem como dependência um job anterior que está no stage de pre-build (estou falando do job build-docker), sendo assim o jog build-project só pode iniciar depois que o build-docker for concluído, isso porque o build-project precisa que as tarefas realizadas pelo build-docker (por exemplo, build da imagem) tenham sido concluídas.
Porém como você mesmo identificou o stage já garante que os jobs de um próximo stage só serão executados após a conclusão de todos os jobs do stage atual. Porém utilizamos o mesmo runner, ou seja o "executor-tarefas" em mais de um stage, e isso pode gerar o conflito, então o correto é um job só iniciar após o outro job terminar, mesmo que seja de outro stage.
Espero ter esclarecido sua dúvida!