
저번 포스팅에서 GitLab에 프로젝트를 푸시하고, 다양한 환경설정 및 Docker를 ECR 저장소에 푸시하여 잘 실행되는지 확인했습니다. 이번 포스팅은 이러한 과정을 GitLab과 Runner를 이용해서 자동화를 해보겠습니다. 아래와 같은 두 단계를 진행했다고 보시면 됩니다.
그렇다면 이 두 단계를 자동화 하려면 어떤 방식으로 진행해야 할까요?


GitLab은 크게 두 가지 요소로 이루어져 있습니다.
구글에 gitlab runner install ubuntu을 검색하고, 해당 사이트에 접속합니다.

자신이 사용하는 OS를 선택합니다.
저는 MacOs를 선택했습니다.

선택하여 들어가면 패키지를 다운로드할 수 있는 명령어가 있으며, 복사하여 명령어를 실행하면 됩니다.

sudo curl --output /usr/local/bin/gitlab-runner "https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/binaries/gitlab-runner-darwin-arm64"

이 과정은 GitLab Runner 패키지를 다운로드 한 것입니다. 그러므로 이 패키지를 이용하여 GitLab Runner를 설치합니다.
sudo dpkg -i gitlab-runner_amd64.deb
설치가 완료 되었으면, 잘 실행되는지 확인합니다.
ps -ef | grep gitlab

잘 실행 되고 있습니다!!
이전 포스팅에서 만든 프로젝트에 대한 GitLab Runner를 해주겠습니다.




우분투 서버에 아래의 명령어를 복사하여 입력합니다.
gitlab-runner register --url https://gitlab.com --token <토큰> arch=amd64 os=linux pid=89953 revision=c72a09b6 version=16.8.0
(이 부분은 이미 runner를 만들어놔서 캪쳐를 하지 못하였습니다.)
명령어를 입력하면 총 3가지의 입력을 하는 창이 주어집니다.
1. [https://gitlab.com]: -> 그대로 엔터치면 됩니다.
2. [자신의 우분투 IP]: 사용할 Runner 이름을 입력
3. 아래 와 같이 Enter an executor 창이 나왔을 때 스크립트를 실행하기 위해서 shell을 선택했습니다.
Enter an executor: parallels, virtualbox, docker, docker-windows, kubernetes, instance, custom, ssh, docker+machine, docker-autoscaler, shell:
shell
gitlab-runner run 를 입력.
러너활성화 확인

bash_logout 파일 수정

이 파일의 모든 내용을 주석 처리하지 않으면 나중에 러너를 실행할 때 오류가 뜰 수 있습니다.
수정 후
sudo systemctl restart gitlab-runner - 설정파일 수정했으므로 실행
sudo systemctl enable gitlab-runner - 부팅할 때 자동으로 실행하기 위한 명령어
이렇게 gitLab-Runner를 구축이 완료되었습니다. 사실 많은 명령어들을 gitLab에서 제공해주기 때문에 어렵진 않지만, 순서와 파일 경로를 잘 파악해서 해야 오류 없이 GitLab-Runner를 구축할 수 있습니다. GitLab에 대해서 공부중 러너라는 것도 알게 되면서 자동화 시스템에 대한 궁금증이 하나씩 해결되는 것 같습니다. 다음 포스팅은 구축한 Runner를 가지고 CI/CD 파이프라인을 구축하겠습니다.