Web

[Web] Gitlab-runner 설치 & Runner 등록하기 (Amazon Linux 2 - Centos 계열)

철스커 2023. 4. 28. 16:49
반응형

Gitlab CI 를 이용하기 위해서는 gitlab-runner를 설치해줘야 합니다.

리눅스 종류가 다양하지만, 여기서는 Amazon Linux 2 (Centos) 에 대한 설치를 진행해보도록 하겠습니다.

 

 

 

AWS Linux 2에 Gitlab-runner 설치하기

1. AWS 서버에 접속합니다.

 

 

2. 다음 명령어를 이용해서 패키지 매니저(yum)에 Gitlab 저장소 위치를 저장시킵니다.

curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash

 

 

 

 

 

3. yum 을 이용해서 gitlab-runner를 설치합니다.

sudo yum install gitlab-runner

* 설치하겠냐고 물어볼텐데, y를 누르시면 됩니다.

 

 

 

4. gitlab-runner 설치가 되었다면, /usr/bin에 gitlab-runner 가 생성되었을 겁니다.

 

 

* 참고 - Gitlab docs : Gitlab Runner install

 

Install GitLab Runner using the official GitLab repositories | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

 

 

 

Runner 등록하기

 

Gitlab에서 제공하는 Runner는 세 가지 종류가 있습니다.

- Shared Runner : 누구나 사용할 수 있는 Runner

- Group Runner : 그룹 내에서만 사용할 수 있는 Runner

- Project Runner : 프로젝트 내에서만 사용할 수 있는 Runner

 

여기서는 Project Runner를 등록해보도록 하겠습니다.

 

 

 

1. 프로젝트 Settings > CI/CD 페이지로 들어오셔서, Runners 항목을 펼쳐줍니다.

 

Project runners, Shared runners 가 보이고, 오른쪽 하단에는 Group runners 섹션이 보이실 겁니다.

Project runners 섹션을 보시면, registration token이 있습니다.

이것을 잘 기억해두세요.

 

 

 

2. Show runner installation instructions 버튼 클릭

Show runner installation instructions 버튼을 클릭해보세요.

 

그럼, Gitlab-runner 설치와 Runner 등록 방법이 나오는데요.

이미 Gitlab-runner 설치를 했기 때문에 curl 명령어를 실행하실 필요는 없습니다.

 

저희는 yum을 이용해서 설치했기 때문에 /usr/bin에 gitlab-runner가 설치가 된 상태입니다.

설치 외에 저 메뉴얼대로 Runner를 등록해보겠습니다.

 

 

 

 

3. 실행할 수 있는 권한을 gitlab-runner에 부여합니다.

sudo chmod +x /usr/bin/gitlab-runner

 

 

 

4. gitlab-runner 계정을 추가해줍니다.

sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

 

 

 

5. gitlab-runner 서비스를 설치해줍니다.

sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner

--user : 사용자 계정

--working-directory : git clone할 디렉토리 위치

 

 

* 참고 : gitlab-runner install 명령어에 넘겨줄 옵션

 

 

GitLab Runner commands | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

 

 

저는 메뉴얼에 소개된 명령어와 다르게, 사용자 계정을 root로 디렉토리 위치도 다른 곳으로 변경해서 적용해보겠습니다.

sudo gitlab-runner install --user=root --working-directory=/home/ec2-user

 

 

install 명령어 후에는 gitlab-runner 서비스를 실행시켜야 합니다.

sudo gitlab-runner start

 

 

그러면, gitlab-runner 서비스가 등록이 되었습니다.

gitlab-runner list 명령어를 입력하면 아직 등록된 Runner는 안 보입니다.

 

 

 

 

 

6. Runner를 등록해줍니다.

sudo gitlab-runner register

 

명령어를 실행하면, 차례대로 token, description, tags, note, executor 를 입력해주어야 합니다.

 

 

registration token은 아까 기억해둔 token값을 넣어주시고,

description은 Runner를 설명할 문구, tag는 .yml 파일에서 tag 옵션에 사용할 문구입니다.

executor는 어떤 환경에서 Runner를 실행할 것인지를 의미합니다. 저는 shell에서 사용할 것이기에 shell을 입력해주었습니다.

 

 

Runner가 잘 등록되었다면, gitlab-runner list 명령어 후 목록에 나타날 것입니다.

 

 

 

 

Gitlab CI/CD 설정 페이지에서도 Runner가 보입니다.

만약, Runner가 정상적이지 않다면 빨간 동그라미 또는 느낌표 등의 아이콘이 보일 겁니다.

 

 

 

그럴 경우에는 gitlab-runner verify를 통해서 아직 제대로 활성화되지 않은 Runner를 활성화시킬 수도 있습니다.

 

 

 

 

이것으로 gitlab-runner 설치 & Runner 등록 (Project Runner) 을 마치도록 하겠습니다.

 

 

반응형