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" ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!