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)
이 docker-compose 파일은 concourse로 몇 가지 테스트를 수행하기 위한 설치를 간소화합니다:
fly
명령줄을 귀하의 OS에 맞게 웹에서 127.0.0.1:8080
에서 다운로드할 수 있습니다.
Kubernetes(예: minikube)에서 helm-chart를 사용하여 concourse를 쉽게 배포할 수 있습니다: concourse-chart.
concourse 환경을 생성한 후, 비밀을 생성하고 concourse 웹에서 실행 중인 SA에 K8s 비밀에 접근할 수 있는 권한을 부여할 수 있습니다:
파이프라인은 작업의 목록으로 구성되며, 여기에는 단계의 정렬된 목록이 포함됩니다.
여러 가지 유형의 단계를 사용할 수 있습니다:
the set_pipeline
step 은 pipeline을 구성합니다.
the load_var
step 은 값을 local var로 로드합니다.
the in_parallel
step 은 단계를 병렬로 실행합니다.
the do
step 은 단계를 순차적으로 실행합니다.
the across
step modifier 는 단계를 여러 번 실행합니다; 변수 값의 조합마다 한 번씩 실행합니다.
the try
step 은 단계를 실행하려고 시도하며, 단계가 실패하더라도 성공합니다.
각 단계 는 작업 계획에서 자신의 컨테이너에서 실행됩니다. 컨테이너 내에서 원하는 모든 것을 실행할 수 있습니다 (예: 내 테스트 실행, 이 bash 스크립트 실행, 이 이미지 빌드 등). 따라서 다섯 개의 단계가 있는 작업이 있다면 Concourse는 각 단계마다 하나씩 총 다섯 개의 컨테이너를 생성합니다.
따라서 각 단계가 실행되어야 하는 컨테이너의 유형을 지정하는 것이 가능합니다.
Check 127.0.0.1:8080 to see the pipeline flow.
하나의 작업의 결과를 파일에 저장하고 그것이 출력임을 나타낸 다음, 다음 작업의 입력을 이전 작업의 출력으로 나타낼 수 있습니다. concourse가 하는 것은 이전 작업의 디렉토리를 새로운 작업에 마운트하여 이전 작업에서 생성된 파일에 접근할 수 있게 하는 것입니다.
작업을 실행할 때마다 수동으로 트리거할 필요가 없으며, 다음과 같이 매번 실행되도록 프로그래밍할 수 있습니다:
시간이 경과함: Time resource
메인 브랜치에 새로운 커밋이 있을 때: Git resource
새로운 PR: Github-PR resource
앱의 최신 이미지를 가져오거나 푸시: Registry-image resource
https://concourse-ci.org/tutorial-resources.html에서 마스터에 새로운 커밋이 있을 때 트리거되는 YAML 파이프라인 예제를 확인하세요.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)