Git

# docker 기반 Gitlab-CI 구축 3 - Gitlab-runner 실행

skysoo1111 2020. 3. 27. 16:20

지난 포스팅 # docker 기반 Gitlab-CI 구축 2 에서 Gitlab을 Docker로 실행했고 CI 스크립트(.gitlab-ci.yml)까지 등록해주었다.

 

1. CI 상태 보기

그리고 CI의 Pipelines를 확인했을 때, Pending 상태인 것을 확인했는데, 이는 CI를 수행해줄 Runner가 없기 때문에 생기는 현상이다.

 

따라서 이번 포스팅에서는 CI를 수행해줄 Gitlab-runner를 등록하는 방법을 알아보자.

 

2. Gitlab-runner 등록

   1) gitlab 서버의 Runners 설정 페이지에서 Runner Setup 정보(URL / TOKEN)를 확인할 수 있다.

 

   2) gitlab 서버에서 확인한 URL과 TOKEN 정보로 배포 서버에서 Gitlab-runner를 등록한다.

$ docker run --rm -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
  --non-interactive \
  --executor "docker" \
  --docker-image alpine:latest \
  --url "<url>" \
  --registration-token "<token값>" \
  --description "docker-runner-demo" \
  --tag-list "docker,aws" \
  --run-untagged="true" \
  --locked="false" \
  --access-level="not_protected"

 

 

3) 배포 서버에서 Gitlab-runner를 등록하면 gitlab 서버에서 아래처럼 등록된 runner를 볼 수 있다.

 

 

3. Gitlab-runner 활성화

  1) 등록된 runner를 클릭하면 아래처럼 상세 페이지가 나오고 해당 runner를 활성활 시킬 프로젝트 목록이 나오므로 Enable 시켜준다.

 

4. Gitlab-runner 실행

   1) runner를 활성화 시켰으면 배포 서버에서 runner를 실행 시켜준다.

$ docker run -d --name gitlab-runner-demo --restart always \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:latest

 

5. CI 수행 결과 확인

   1) gitlab 서버의 CI / DC에서 다시 Pipelines의 상태를 보면 pending 상태에서 running 상태로 바뀐 것을 확인할 수 있다.

7-1

 

   2) 그리고 runner가 작업을 모두 성공적으로 마치면 passed로 상태가 변한다.

7-2

 

다음 포스팅때는 gitlab의 Backup과 Restore에 대한 것을 업로드할 예정이다.