✔️ GitLab CI/CD 개념
반복적인 코드 변경사항을 지속적으로 구축, 테스트, 배포 및 모니터링하는 지속적인 소프트웨어 개발 방법.
✔️ GitLab CI/CD를 위한 준비
1. GitLab Runner 를 설치해야 한다.
2. 프로젝트 생성
3. .gitlab-ci.yml 파일 생성
✔️ .gitlab-ci.yml 파일 설명
GitLab CI/CD 에 대한 지침을 지정하는 YML 파일이다.
이 파일은 Runner 가 실행해야 하는 작업의 구조와 순서이다.
stages:
- develop
- build
- deploy
job_develop:
stage: develop
only:
- develop
script:
- echo "develop the project"
job_build:
stage: build
only:
- main
script:
- echo "Building the project"
after_script:
- echo "This is script after Building the project"
job_deploy:
stage: deploy
only:
- main
needs: ['job_build']
script:
- echo "Deploy tests"
- stages : project branch pipeline의 Stage 를 의미한다.
- job_develop, job_build, job_deploy : 작업의 이름
- stage: 각 작업이 어디에 포함되는지 stages 에 정의한 작업 중에 적어준다.
- only: 타깃 브랜치를 적어준다. job_develop 은 develop 브랜치에서만 가능하고, job_build 와 job_deploy 는 main 브랜치에서 가능하다는 의미이다.
- script: 해당 작업을 시작하는 경우 script에 작성된 명령어가 실행된다. 즉, 해당 작업을 시작하면 실행시키고 싶은 명령어를 작성한다.
after_script: script 이후 실행할 명령어를 작성한다.
- needs: job_deploy 에 있는 needs 는 needs 에 정의한 작업 이후에 해당 작업을 실행할 수 있다는 것을 의미한다. 따라서 job_deploy는 job_build 후에 실행할 수 있다.
✔️ Pipelines stage
위와 같이 .gitlab-ci.yml 파일을 구성한다면 우리가 눈으로 보게 될 pipeline의 stage 는 다음과 같은 그림일 것이다.
- main branch
- develop branch
참고
'개발 > Git' 카테고리의 다른 글
[Github] mac github/gitlab 계정 폴더 별로 설정하기 (0) | 2023.05.25 |
---|---|
[Git] fatal: repository 'https://github.com/.../' not found (0) | 2022.10.28 |
[Git/VScode] VScode 에서 Git-flow 전략으로 프로젝트 시작하기 ( master - develop - feature ) (0) | 2022.03.19 |
[Git] CI/CD 자동화 배포, 리액트 aws S3 에 자동으로 배포하기 (0) | 2022.03.09 |
[Git] Git Flow 방식으로 협업 / 프로젝트 관리하기 (0) | 2022.01.27 |