Concourse Lab Creation
Ambiente di test
Esecuzione di Concourse
Con Docker-Compose
Questo file docker-compose semplifica l'installazione per effettuare alcuni test con Concourse:
Puoi scaricare la linea di comando fly
per il tuo sistema operativo dal web all'indirizzo 127.0.0.1:8080
Con Kubernetes (Consigliato)
Puoi facilmente distribuire Concourse in Kubernetes (ad esempio in minikube) utilizzando il chart di Helm: concourse-chart.
Dopo aver generato l'ambiente di Concourse, è possibile generare un segreto e concedere l'accesso all'account di servizio in esecuzione nel web di Concourse per accedere ai segreti di K8s:
Creazione del Pipeline
Un pipeline è composto da una lista di Jobs che contiene un elenco ordinato di Steps.
Steps
Possono essere utilizzati diversi tipi di steps:
il
set_pipeline
step configura un pipelineil
load_var
step carica un valore in una var localeil
in_parallel
step esegue steps in paralleloil
do
step esegue steps in sequenzail modificatore di step
across
esegue un step più volte; una volta per ogni combinazione di valori delle variabiliil
try
step tenta di eseguire uno step e ha successo anche se lo step fallisce
Ogni step in un job plan viene eseguito nel suo proprio container. Puoi eseguire qualsiasi cosa desideri all'interno del container (ad esempio, eseguire i miei test, eseguire questo script bash, creare questa immagine, ecc.). Quindi, se hai un job con cinque steps, Concourse creerà cinque container, uno per ogni step.
Pertanto, è possibile indicare il tipo di container in cui ogni step deve essere eseguito.
Esempio di Pipeline Semplice
Controlla 127.0.0.1:8080 per vedere il flusso del pipeline.
Script Bash con pipeline di input/output
È possibile salvare i risultati di un task in un file e indicare che si tratta di un output, per poi indicare l'input del task successivo come l'output del task precedente. Ciò che fa Concourse è montare la directory del task precedente nel nuovo task, in modo da poter accedere ai file creati dal task precedente.
Trigger
Non è necessario attivare manualmente i job ogni volta che è necessario eseguirli, è anche possibile programmarli per essere eseguiti automaticamente:
Dopo un certo periodo di tempo: Time resource
Alla ricezione di nuovi commit nel branch principale: Git resource
Nuove PR: Github-PR resource
Recupero o push dell'ultima immagine della tua app: Registry-image resource
Controlla un esempio di pipeline YAML che viene attivata alla ricezione di nuovi commit nel branch master su https://concourse-ci.org/tutorial-resources.html
Last updated