Concourse Lab Creation
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Diese Docker-Compose-Datei vereinfacht die Installation, um einige Tests mit Concourse durchzuführen:
Sie können die Befehlszeile fly
für Ihr Betriebssystem von der Website unter 127.0.0.1:8080
herunterladen.
Sie können Concourse einfach in Kubernetes (zum Beispiel in minikube) mit dem Helm-Chart bereitstellen: concourse-chart.
Nachdem Sie die Concourse-Umgebung erstellt haben, können Sie ein Geheimnis generieren und dem SA, der in Concourse Web ausgeführt wird, Zugriff auf K8s-Geheimnisse gewähren:
Eine Pipeline besteht aus einer Liste von Jobs, die eine geordnete Liste von Steps enthält.
Es können mehrere verschiedene Arten von Schritten verwendet werden:
der task
Schritt führt eine Aufgabe aus
der get
Schritt ruft eine Ressource ab
der put
Schritt aktualisiert eine Ressource
der set_pipeline
Schritt konfiguriert eine Pipeline
der load_var
Schritt lädt einen Wert in eine lokale Variable
der in_parallel
Schritt führt Schritte parallel aus
der do
Schritt führt Schritte sequenziell aus
der across
Schrittmodifikator führt einen Schritt mehrfach aus; einmal für jede Kombination von Variablenwerten
der try
Schritt versucht, einen Schritt auszuführen und hat Erfolg, selbst wenn der Schritt fehlschlägt
Jeder Schritt in einem Job-Plan wird in seinem eigenen Container ausgeführt. Sie können alles, was Sie möchten, im Container ausführen (d.h. meine Tests ausführen, dieses Bash-Skript ausführen, dieses Image erstellen usw.). Wenn Sie also einen Job mit fünf Schritten haben, erstellt Concourse fünf Container, einen für jeden Schritt.
Daher ist es möglich, den Typ des Containers anzugeben, in dem jeder Schritt ausgeführt werden muss.
Check 127.0.0.1:8080 um den Pipeline-Fluss zu sehen.
Es ist möglich, die Ergebnisse einer Aufgabe in einer Datei zu speichern und anzugeben, dass es sich um eine Ausgabe handelt, und dann die Eingabe der nächsten Aufgabe als die Ausgabe der vorherigen Aufgabe anzugeben. Was Concourse tut, ist, das Verzeichnis der vorherigen Aufgabe in der neuen Aufgabe zu mounten, wo Sie auf die von der vorherigen Aufgabe erstellten Dateien zugreifen können.
Sie müssen die Jobs nicht jedes Mal manuell auslösen, wenn Sie sie ausführen möchten, Sie können sie auch so programmieren, dass sie jedes Mal ausgeführt werden:
Es vergeht etwas Zeit: Time resource
Bei neuen Commits zum Hauptbranch: Git resource
Neue PRs: Github-PR resource
Holen oder pushen Sie das neueste Bild Ihrer App: Registry-image resource
Überprüfen Sie ein YAML-Pipeline-Beispiel, das bei neuen Commits auf master in https://concourse-ci.org/tutorial-resources.html ausgelöst wird.
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)