티스토리 뷰

DevOps/Gitlab

[Gitlab] Gitlab-runner를 Gitlab에 등록하기

행복한 꿈나무 2021. 11. 9. 13:52
반응형

Gitlab의 CI/CD를 하기 위해선 runner를 등록을 해야 가능합니다. 

runner는 총 3가지의 형태가 있습니다. 

  1. shared runner : 모든 Gitlab 사용자들과 공유하는 runner
  2. Group runner : 해당 그룹의 프로젝트에서 공유하는 runner
  3. Specific runner : 특정 프로젝트에서만 동작하는 runner

전 specific runner등록을 진행합니다.

GitLab-runner 를 아래의 명령어로 실행하면 container가 올라옵니다.

docker run --detach \
--name gitlab-runner \
--restart always \
--volume /srv/gitlab-runner/config:/etc/gitlab-runner: \
--volume /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest

 

생성된 걸 확인합니다.

[root@iZj6cdwoxmdioczgttkqmdZ ~] docker ps
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS               NAMES
32fe62fbaba4        gitlab/gitlab-runner:latest   "/usr/bin/dumb-ini..."   3 days ago          Up 3 hours                              gitlab-runner

 

Gitlab runner 등록을 위해서 먼저 Gitlab project에서 URL과 Token을 확인합니다.

Specific runners에 있는 URL과 Token값을 확인을 합니다.

 

Gitlab runner를 연동하는 방법은 2가지가 있습니다.

먼저 Gitlab runner에 접속을 합니다.

docker container exec -it gitlab-runner bash

 

1. runner 에서 비대화식(명령어)로 설정

gitlab-runner register -n \
--url https://<Your Gitlab URL>/ \
--registration-token <Your Gitlab Token> \
--description gitlab-runner \
--executor docker \
--docker-image docker:latest \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock

2. runner 에서 대화식으로 설정

root@6e4c57b3ff4f:/# gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=20 revision=943fc252 version=13.7.0
Running in system-mode.                            
                                                   
Enter the GitLab instance URL (for example, https://gitlab.com/):
https://<Gitlab URL 주소>/
Enter the registration token:
<Gitlab Token>
Enter a description for the runner:
[6e4c57b3ff4f]:  gitlab-runner
Enter tags for the runner (comma-separated):
sdh-tf-runner (필수 x)
Registering runner... succeeded                     runner=s-EJMiEU
Enter an executor: docker-ssh, parallels, shell, virtualbox, docker-ssh+machine, kubernetes, custom, docker, ssh, docker+machine:
docker
Enter the default Docker image (for example, ruby:2.6):
docker-latest
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 
root@6e4c57b3ff4f:/#

 

이후 정상적으로 등록이 되었는지 확인을 하기위해 Gitlab site로 이동을합니다.

 

초록불이 된다면, 정상적으로 등록이 완료가 되었습니다. 만약 초록불이 아니라면, 수분내로 상태가 변경이 될것입니다.

Gitlab에 runner도 등록을 완료하였습니다. 이후엔 CI 관련된 내용으로 돌아오겠습니다.

반응형
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday