GitLab CI - 첫번째 파이프라인

🌻Truthful·2023년 12월 8일

Build

우선 GitLab에서 빈 프로젝트를 하나 만듭니다.

그리고 아래와 같이 .gitlab-ci.yml 파일을 만듭니다.

GitLab CI/CD에서는 .gitlab-ci.yml 파일을 사용하여 파이프라인을 정의합니다.

이 파일에는 빌드, 테스트, 배포와 같은 작업들이 순서대로 명시됩니다.

이제 작업들을 명시해봅시다.

build the car:
  script:
    - mkdir build 
    - cd build
    - touch car.txt
    - echo "chassis" > car.txt
    - echo "engine" > car.txt
    - echo "wheels" > car.txt

여기서 echo "문자열" > 파일명 명령어는 "문자열"을 "파일명"이라는 파일에 씁니다.

또한echo 명령어는 CI/CD 파이프라인에서 진행 상황을 파악하고, 특정 단계나 변수의 상태를 로깅하기 위해 자주 사용됩니다.

이제 GitLab RUNNER를 설정합니다.

GitLab Runner는 작업들을 수행하고, 결과를 보여주는 역할을 수행합니다.

아래와 같이 정상적으로 실행되는 것을 확인할 수 있습니다.

Test

stages:
  - build
  - test 

build the car:
  stage: build
  script:
    - mkdir build 
    - cd build
    - touch car.txt
    - echo "chassis" > car.txt
    - echo "engine" > car.txt
    - echo "wheels" > car.txt

test the car:
  stage: test 
  script:
    - test -f build/car.txt
    - cd build
    - grep "chassis" car.txt
    - grep "engine" car.txt
    - grep "wheels" car.txt

stages를 통해서 어떤 단계인지 명시를 해주어야 합니다.

test -f build/car.txt 이 명령어는 build/car.txt 파일이 존재하고 파일인지를 검사합니다.

-f 옵션은 파일이 존재하고 일반 파일(regular file)인지 확인합니다.
이 명령어는 CI/CD 파이프라인에서 종종 파일의 존재 여부를 확인하는 데 사용됩니다.

grep은 파일 내에서 특정 문자열을 찾는 데 사용되는 명령어입니다.

아래와 같이 이제 단계가 두가지가 된 것을 확인할 수 있습니다.

테스트가 실패하였는데 이유를 같이 살펴봅시다.

status 1은 에러가 생겼음을 의미합니다.

이는 하나의 작업이 끝나고 파일들을 삭제되는데, 이를 다른 작업에서 사용할 때 파일이 없다고 에러가 나는 것입니다.

이를 해결해봅시다.

stages:
  - build
  - test 

build the car:
  stage: build
  script:
    - mkdir build 
    - cd build
    - touch car.txt
    - echo "chassis" >> car.txt
    - echo "engine" >> car.txt
    - echo "wheels" >> car.txt
  artifacts:
    paths:
      - build/ 

test the car:
  stage: test 
  script:
    - ls
    - test -f build/car.txt
    - cd build
    - cat car.txt
    - grep "chassis" car.txt
    - grep "engine" car.txt
    - grep "wheels" car.txt

artifacts: paths - build/는 GitLab CI/CD 파이프라인 설정의 일부로, GitLab Runner가 작업을 수행한 후 특정 파일이나 디렉토리(이 경우 build/ 디렉토리)를 아티팩트(artifacts)로 지정하는 데 사용됩니다.

이 아티팩트는 파이프라인의 후속 단계나 작업이 완료된 후에도 사용할 수 있으며, GitLab의 웹 인터페이스를 통해 다운로드할 수도 있습니다.

>>는 추가하기 연산자입니다. 이는 기존 파일의 내용을 유지하면서 추가할 때 사용됩니다.

아래 이미지와 같이 빌드와 테스트를 모두 통과한 것을 확인할 수 있습니다.

📝참고 자료

GitLab Runner 설정

profile
"인생의 목적은 타인을 따르는 것이 아니라 자신을 창조하는 것이다."

0개의 댓글