GCP CI/CD 파이프라인: 저장소 분기(Google Cloud 소스 저장소)에 커밋한 후 Docker 이미지 빌드
클라우드와 컨테이너는 웹 인프라의 배포 및 관리를 진정으로 혁신했습니다. 푸시 또는 풀 요청에 의해 트리거되는 도커 이미지를 빌드하는 기능을 통해 개발자는 인프라가 아닌 코드에 더 집중할 수 있습니다.
이 파이프라인을 설정하는 프로세스는 다음 단계를 따릅니다.
1. Cloud Source Repositories에 저장소 생성
사이드바 또는 상단의 검색 표시줄을 사용하여 Cloud Source Repositories로 이동합니다.
올바른 프로젝트에서 리포지토리를 만들고 있는지 확인한 다음 오른쪽 상단 모서리에 있는
Add repository
버튼을 클릭합니다.GCP의 버전 제어를 사용할 것이므로
Create new repository
옵션을 선택하고 Continue
를 클릭해야 합니다.다음으로 저장소 이름을 입력하고 프로젝트를 선택해야 합니다. 완료한 후
Create
버튼을 클릭합니다.마지막 단계에서는 제공된 지침을 사용하여 새로 생성된 리포지토리를 로컬 시스템에 복제합니다.
SSH(첫 번째 옵션) 또는 gcloud CLI를 사용하여 저장소에 코드를 업로드할 수 있습니다. 독자가 사용할 옵션을 결정하도록 하겠습니다.
2. 소스 파일
이 프로젝트에는 2개의 소스 파일이 있습니다.
Dockerfile
:FROM python:3.7-slim
RUN pip install flask
WORKDIR /myapp
COPY main.py /myapp/main.py
CMD ["python", "/myapp/main.py"]
main.py
:from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'CI/CD pipeline with GCP Cloud Source Repositories and Docker'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)
지침에 따라 이러한 파일을 리포지토리로 푸시하고 업로드되었는지 확인합니다.
3. Cloud Build 트리거 만들기
Cloud Build를 처음 사용하는 경우 먼저 API를 활성화하라는 메시지가 표시됩니다. 이 API를 활성화하려면
Enable
를 클릭하십시오. 1분 정도 소요될 수 있으며 정상입니다.사이드바에서
Triggers
를 클릭합니다.새 트리거를 만들려면 페이지 하단에 있는
Create new trigger
버튼을 클릭하십시오.트리거 생성 페이지에서 4가지 중요한 부분에 주의를 기울여야 합니다.
Push to a branch
)Dockerfile
)완료한 후
Create
를 클릭하여 트리거 설정을 마칩니다.트리거를 테스트하기 위해 먼저
RUN
버튼을 클릭하여 수동으로 호출합니다.확인을 요청하는 팝업이 나타납니다. 클릭
Run trigger
:왼쪽 사이드바에서
History
옵션을 클릭하면 빌드 기록을 볼 수 있습니다.내 빌드가 성공했습니다.
4. Dockerimage 자동 빌드 확인
GCP에는 Container Registry라는 컨테이너 이미지를 저장하는 서비스가 있습니다.
Contianer Registry로 이동하면 이미지가 표시됩니다.
그리고 마지막으로 테스트 푸시로 테스트를 해보자.
main.py
파일을 수정하고 변경 사항을 저장소에 푸시하겠습니다. 텍스트를 약간 수정하고 추가했습니다v2.0
.from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'CI/CD pipeline with GCP Cloud Source Repositories and Docker v2.0'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)
저장소에 새 변경 사항을 커밋하고 푸시합니다. 트리거를 자동으로 실행해야 합니다. 기록 탭에서 실행 중인 프로세스를 볼 수 있습니다(내 작업이 정말 빠르게 완료됨).
컨테이너 레지스트리로 이동하여 새 이미지가 있는지 확인합니다.
두 개의 이미지가 있습니다. 하나는 트리거를 수동으로 실행하는 것이고 두 번째는 코드를 추적된 분기로 푸시하는 것입니다.
그리고 네, 보시다시피 새 이미지가 있습니다!
그게 다야. 새 코드가 추적된 분기에 커밋될 때 Docker 이미지를 빌드하는 CI/CD 파이프라인을 만들었습니다!
Reference
이 문제에 관하여(GCP CI/CD 파이프라인: 저장소 분기(Google Cloud 소스 저장소)에 커밋한 후 Docker 이미지 빌드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/af/gcp-cicd-pipeline-build-docker-images-after-commits-to-a-repo-branch-google-cloud-source-repositories-500o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)