Concourse Lab Creation
Ambiente de Teste
Executando o Concourse
Com Docker-Compose
Este arquivo docker-compose simplifica a instalação para fazer alguns testes com o concourse:
Você pode baixar a linha de comando fly
para o seu sistema operacional da web em 127.0.0.1:8080
Com Kubernetes (Recomendado)
Você pode facilmente implantar o concourse no Kubernetes (no minikube, por exemplo) usando o helm-chart: concourse-chart.
Após gerar o ambiente concourse, você poderia gerar um segredo e conceder acesso ao SA executando no concourse web para acessar os segredos K8s:
Criar Pipeline
Um pipeline é composto por uma lista de Jobs que contém uma lista ordenada de Steps.
Steps
Diversos tipos de steps podem ser utilizados:
o
set_pipeline
step configura um pipelineo
load_var
step carrega um valor em uma local varo
in_parallel
step executa steps em paraleloo
do
step executa steps em sequênciao modificador
across
step executa um step várias vezes; uma para cada combinação de valores de variáveiso
try
step tenta executar um step e é bem-sucedido mesmo se o step falhar
Cada step em um job plan é executado em seu próprio container. Você pode executar o que quiser dentro do container (ou seja, executar meus testes, rodar este script bash, construir esta imagem, etc.). Então, se você tem um job com cinco steps, o Concourse criará cinco containers, um para cada step.
Portanto, é possível indicar o tipo de container que cada step precisa para ser executado.
Exemplo de Pipeline Simples
Verifique 127.0.0.1:8080 para ver o fluxo do pipeline.
Script Bash com pipeline de entrada/saída
É possível salvar os resultados de uma tarefa em um arquivo e indicar que é uma saída e depois indicar a entrada da próxima tarefa como a saída da tarefa anterior. O que o concourse faz é montar o diretório da tarefa anterior na nova tarefa onde você pode acessar os arquivos criados pela tarefa anterior.
Triggers
Você não precisa acionar os jobs manualmente todas as vezes que precisar executá-los, você também pode programá-los para serem executados sempre que:
Algum tempo passar: Time resource
Novos commits na branch principal: Git resource
Novos PRs: Github-PR resource
Buscar ou enviar a última imagem do seu aplicativo: Registry-image resource
Confira um exemplo de pipeline YAML que é acionado por novos commits na master em https://concourse-ci.org/tutorial-resources.html
Last updated