자동으로 배포하기 위한 곳(원격지)에 먼저 접속하고 아래의 명령어를 실행하여 gitlab-runner을 설치한다.
sudo apt-get install gitlab-runner
Settings > CI/CD 로 들어가 runner를 검색한다.
1번, 2번의 정보를 gitlab-runner register 명령어에서 사용할 예정이다.
아래의 명령어를 입력하여 runner를 등록한다.
sudo gitlab-runner register
1번 정보 입력
2번 정보 입력
runner 설명 입력
runner의 태그를 입력한다. 이 정보는 꼭 기억해야함, 이후에 .gitlab-ci.yml 파일에 사용할 예정임!!
shell로 하기 위해 shell로 설정한다.
등록이 완료되고 나면 아래의 명령어를 입력하여 runner를 실행시킨다.
sudo gitlab-runner start
Settings > CI/CD > Runner 검색 후 아래를 내려보면 runner가 실행되고 있음을 확인할 수 있다. 간혹가다 실행되지 않은 상태로 있는데 이 경우에는 아래의 명령어를 실행한다.
sudo gitlab-runner restart
sudo gitlab-runner verify
그럼 아래의 사진과 같이 초록색으로 표시가 되고 잘 돌아가고 있음을 확인할 수 있다.
본인은 description에 deploy, 태그는 deployment로 입력하였다.
repository가 없다면 생성하고 프로젝트 루트 디렉토리에서 파일을 하나 만든다.
yml 파일에 default로 만들어진 양식을 간단하게 수정한다.
자세한 정보는 https://docs.gitlab.com/ee/ci/yaml/ 를 참고하면 된다.
stage는 test로, job이름은 lets_test로 설정하고 script에는 실행할 명령어를 입력한다. 그리고 3번에서 언급한 태그를 tags에 적어준다.
파일을 만들고나면 GitLab에서 CI/CD > Pipelines에 .gitlab-ci.yml에 작성한 script를 실행시킬 파이프라인을 확인할 수 있다.
만약 Status가 pending으로 오래있을 때 엄청 당황했었는데 원격지에 접속해서 아래의 명령어를 실행시킨다. 그리고 GitLab에 커밋하면 새로운 파이프라인이 실행된다.
sudo gitlab-runner run
lets_test를 눌러서 확인해보면 .gitlab-ci.yml에서 작성한 명령어가 실행되었음을 확인할 수 있다.