Concourse Lab Creation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ten plik docker-compose upraszcza instalację, aby przeprowadzić kilka testów z concourse:
Możesz pobrać linię poleceń fly
dla swojego systemu operacyjnego z sieci pod adresem 127.0.0.1:8080
Możesz łatwo wdrożyć concourse w Kubernetes (na przykład w minikube) używając helm-chart: concourse-chart.
Po wygenerowaniu środowiska concourse, możesz wygenerować sekret i przyznać dostęp do SA działającego w concourse web, aby uzyskać dostęp do sekretów K8s:
Pipeline składa się z listy Jobs, która zawiera uporządkowaną listę Steps.
Można użyć kilku różnych typów kroków:
krok set_pipeline
konfiguruje pipeline
krok load_var
ładuje wartość do zmiennej lokalnej
krok in_parallel
uruchamia kroki równolegle
krok do
uruchamia kroki w sekwencji
modyfikator kroku across
uruchamia krok wielokrotnie; raz dla każdej kombinacji wartości zmiennych
krok try
próbuje uruchomić krok i odnosi sukces, nawet jeśli krok się nie powiedzie
Każdy krok w planie zadania działa w swoim własnym kontenerze. Możesz uruchomić cokolwiek chcesz wewnątrz kontenera (tzn. uruchomić moje testy, uruchomić ten skrypt bash, zbudować ten obraz, itd.). Więc jeśli masz zadanie z pięcioma krokami, Concourse utworzy pięć kontenerów, po jednym dla każdego kroku.
Dlatego możliwe jest wskazanie, jaki typ kontenera potrzebuje każdy krok do uruchomienia.
Sprawdź 127.0.0.1:8080, aby zobaczyć przepływ pipeline'u.
Możliwe jest zapisanie wyników jednego zadania w pliku i wskazanie, że jest to wyjście, a następnie wskazanie wejścia następnego zadania jako wyjścia poprzedniego zadania. To, co robi concourse, to zamontowanie katalogu poprzedniego zadania w nowym zadaniu, gdzie możesz uzyskać dostęp do plików utworzonych przez poprzednie zadanie.
Nie musisz ręcznie wyzwalać zadań za każdym razem, gdy musisz je uruchomić, możesz również zaprogramować je do uruchamiania za każdym razem:
Mija trochę czasu: Time resource
Przy nowych commitach do głównej gałęzi: Git resource
Nowe PR: Github-PR resource
Pobierz lub wypchnij najnowszy obraz swojej aplikacji: Registry-image resource
Sprawdź przykład pipeline'u YAML, który wyzwala się przy nowych commitach do master w https://concourse-ci.org/tutorial-resources.html
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)