우리회사는 수동배포를 해왔다. 로컬에서 원격에 있는 소스를 받고, jar를 말아 쉘 스크립트를 실행시켜주고...
gitlab을 도입한 이상 번거로운 수동배포가 아닌 자동배포로 변경하고자 한다.
CI/CD
CI (Continuous Integration) : 지속통합. 새로운 소스코드를 자동으로 빌드하여 검증한 뒤, 통과한 경우에 변경사항을 공유 repository에 통합.
CD (Continous Deliver/Deployment) : 지속배포. 지속적으로 릴리즈할 수 있는 프로세스이다. 검증완료된 변경사항을 자동으로 배포.
Pipeline : Build, Test, Staging등 회사 업무 스타일을 고려한 반영 프로세스
GitLab에서 CI를 구성하기 위해서는 관련 도구를 설치해야한다.
이를 GitLab Runner 라고한다.
GitLab과 함께 작동하여 코드 변경 사항을 자동으로 빌드, 테스트 및 배포하는 CI도구이다.
파트와의 협의가 안되어 있기에 나는 우선 프로젝트 러너 를 선택했다.
GitLab> 프로젝트 > 셋팅 > Runner를 expand하면 다음과 같은 화면을 볼 수 있다.

나는 프로젝트 러너 로 도커를 설정하였으니 Project runers의 New project runner를 눌러 등록을 해준다.


디폴트 값으로 설정을 해주면 러너를 만드는데 성공하게된다.
이후 나오는 페이지에 STEP이 상세하게 표시되어있다.
1. GitLab Runner가 설치되어있어야할것
2. STEP1 : 다음 커맨드 라인에 url과 token을 붙여넣을것
docker pull gitlab/gitlab-runner:alpine3.12-v14.10.0

진행 프로세싱 바가 뜨고,
완료되었다는 메세지가 나온다.
docker run -d
--name gitlab-runner
--restart always
-v /srv/gitlab-runner/config:/etc/gitlab-runner
-v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:alpine3.12-v14.10.0
이 또한 비슷한 프로세싱 바가 뜨고 완료된다.
docker ps
먼저 실행정보를 확인한다.

docker exec -it gitlab-runner bash

터미널과 같이 진입할 수 있게된다.
1번에서는 runner 와 gitlab을 이어주기 위한 정보를 얻은것이다.
위에서 확인한 url과 token값을 가지고 GitLab Runner Container로 접속해 등록해준다.
(도커로 gitlab runner 실행 후 진행 )
실행 명령어 docker run -d [Container Image]
docker exec -it gitlab-runner gitlab-runner register
이제 여러 물음이 나올것이다.

[참고]
config.toml에 설정정보가 있어 하기 명령어로 확인가능하다
more /etc/gitlab-runner/config.toml