gitlab-runner shell execute 배포 자동화를 위한 설정 방법

박윤택·2021년 9월 30일
3

ci/cd

목록 보기
1/2
post-thumbnail

1. ec2 원격 접속

자동으로 배포하기 위한 곳(원격지)에 먼저 접속하고 아래의 명령어를 실행하여 gitlab-runner을 설치한다.

sudo apt-get install gitlab-runner

2. GitLab에서 등록할 Runner 정보 파악

Settings > CI/CD 로 들어가 runner를 검색한다.

1번, 2번의 정보를 gitlab-runner register 명령어에서 사용할 예정이다.

3. gitlab-runner register

아래의 명령어를 입력하여 runner를 등록한다.

sudo gitlab-runner register


1번 정보 입력

2번 정보 입력

runner 설명 입력

runner의 태그를 입력한다. 이 정보는 꼭 기억해야함, 이후에 .gitlab-ci.yml 파일에 사용할 예정임!!

shell로 하기 위해 shell로 설정한다.

등록이 완료되고 나면 아래의 명령어를 입력하여 runner를 실행시킨다.

sudo gitlab-runner start

4. GitLab에서 runner가 잘 등록되었는지 확인

Settings > CI/CD > Runner 검색 후 아래를 내려보면 runner가 실행되고 있음을 확인할 수 있다. 간혹가다 실행되지 않은 상태로 있는데 이 경우에는 아래의 명령어를 실행한다.

sudo gitlab-runner restart
sudo gitlab-runner verify

그럼 아래의 사진과 같이 초록색으로 표시가 되고 잘 돌아가고 있음을 확인할 수 있다.

본인은 description에 deploy, 태그는 deployment로 입력하였다.

5. GitLab에서 배포할 repository 선택

repository가 없다면 생성하고 프로젝트 루트 디렉토리에서 파일을 하나 만든다.

yml 파일에 default로 만들어진 양식을 간단하게 수정한다.
자세한 정보는 https://docs.gitlab.com/ee/ci/yaml/ 를 참고하면 된다.

stage는 test로, job이름은 lets_test로 설정하고 script에는 실행할 명령어를 입력한다. 그리고 3번에서 언급한 태그를 tags에 적어준다.

파일을 만들고나면 GitLab에서 CI/CD > Pipelines에 .gitlab-ci.yml에 작성한 script를 실행시킬 파이프라인을 확인할 수 있다.

만약 Status가 pending으로 오래있을 때 엄청 당황했었는데 원격지에 접속해서 아래의 명령어를 실행시킨다. 그리고 GitLab에 커밋하면 새로운 파이프라인이 실행된다.

sudo gitlab-runner run

lets_test를 눌러서 확인해보면 .gitlab-ci.yml에서 작성한 명령어가 실행되었음을 확인할 수 있다.

0개의 댓글