Concourse Lab Creation
Impara e pratica il Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Ambiente di Test
Esecuzione di Concourse
Con Docker-Compose
Questo file docker-compose semplifica l'installazione per fare alcuni test con concourse:
Puoi scaricare la riga di comando fly
per il tuo sistema operativo dal web in 127.0.0.1:8080
Con Kubernetes (Consigliato)
Puoi facilmente distribuire concourse in Kubernetes (in minikube ad esempio) utilizzando il helm-chart: concourse-chart.
Dopo aver generato l'ambiente concourse, puoi generare un segreto e dare accesso al SA in esecuzione nel concourse web per accedere ai segreti K8s:
Crea Pipeline
Un pipeline è composto da un elenco di Jobs che contiene un elenco ordinato di Steps.
Steps
Possono essere utilizzati diversi tipi di passi:
il passo
task
esegue un taskil
set_pipeline
step configura un pipelineil
load_var
step carica un valore in una variabile localeil
in_parallel
step esegue i passi in paralleloil
do
step esegue i passi in sequenzail modificatore
across
step esegue un passo più volte; una volta per ogni combinazione di valori delle variabiliil
try
step tenta di eseguire un passo e ha successo anche se il passo fallisce
Ogni step in un job plan viene eseguito nel proprio container. Puoi eseguire qualsiasi cosa tu voglia all'interno del container (cioè eseguire i miei test, eseguire questo script bash, costruire questa immagine, ecc.). Quindi, se hai un job con cinque passi, Concourse creerà cinque container, uno per ogni passo.
Pertanto, è possibile indicare il tipo di container in cui ogni passo deve essere eseguito.
Esempio di Pipeline Semplice
Controlla 127.0.0.1:8080 per vedere il flusso della pipeline.
Script Bash con pipeline di output/input
È possibile salvare i risultati di un compito in un file e indicare che è un output e poi indicare l'input del compito successivo come l'output del compito precedente. Quello che fa concourse è montare la directory del compito precedente nel nuovo compito dove puoi accedere ai file creati dal compito precedente.
Trigger
Non è necessario attivare manualmente i lavori ogni volta che devi eseguirli, puoi anche programmarli per essere eseguiti ogni volta:
Passa del tempo: Time resource
Su nuovi commit nel ramo principale: Git resource
Nuovi PR: Github-PR resource
Recupera o invia l'immagine più recente della tua app: Registry-image resource
Controlla un esempio di pipeline YAML che si attiva su nuovi commit nel master in https://concourse-ci.org/tutorial-resources.html
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Last updated