Synology Gitlab에서 Runner로 dockerfile 빌드하기

Synology 2020.10.23 댓글 Plorence

이번에 진행 중인 프로젝트는 도커로 배포할 예정이라 내장된 CI/CD를 사용하고, Runner를 통해 이미지를 만들어줬어야 했습니다.
Runner가 docker 명령어를 사용할 수 있게 하려면 약간 건드려줘야 합니다.

예제로 .NET Core를 사용하였습니다.

SSH 접속

$ ssh -p port user@url

Runner 컨테이너 생성

$ sudo docker run -d \
--name [컨테이너명] \
--restart always \
--volume /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest

Runner 컨테이너 bash에 접속

$ sudo docker exec -it [컨테이너명] bash

Runner 등록

$ gitlab-runner register -n \
--url "[url]" \
--registration-token "[토큰]" \
--description "설명" \
--executor docker \
--docker-image "docker:18.09.8" \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock

어디에 나와있는 토큰을 사용할 것인지에 따라 러너를 사용할 수 있는 범위가 달라집니다.

  • 어드민 페이지에 나와있는 토큰으로 등록시 전역
  • 그룹 페이지에 나와있는 토큰으로 등록시 그룹에 종속됨(해당 그룹 프로젝트만 사용가능)
  • 특정 프로젝트에 나와있는 토큰으로 등록시 프로젝트에 종속됨(해당 프로젝트만 사용 가능)

현재는 테스트목적이니 어드민 페이지에 나와있는 토큰으로 등록합시다.

테스트를 위한 프로젝트 추가

https://github.com/zxc010613/build-dockerfile-using-runner-in-gitlab 프로젝트를 클론하고, 리모트 url을 변경 후 푸시해줍시다.

$ git clone https://github.com/zxc010613/build-dockerfile-using-runner-in-gitlab.git
$ cd build-dockerfile-using-runner-in-gitlab
$ git remote set-url origin [gitlab-project]
$ git push origin master

CI/CD Pipelines에서 확인하시면 됩니다.

댓글