우분투 리눅스에서 GitLab CI/CD 설정
1. 우분투 리눅스에 gitlab-runner 설치
Install GitLab Runner manually on GNU/Linux | GitLab
Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.
docs.gitlab.com
2. runners 등록하기
GitLab 저장소 -> Settings -> CI/CD -> Runners -> Expand
만약 아래와 같이 초록색 동그라미가 보인다면 다시 등록할 필요가 없다.
그렇지 않다면 아래 내용을 띄워둔다.
그리고 개발 서버 터미널에서 아래와 같이 명령어를 입력하고 등록 과정을 진행한다.
sudo gitlab-runner register
--- 위 스크린샷 기준
--- url : "Specifiy the following URL during the Runner setup" 내용 입력
--- registration-token : "Use the following registration token during setup" 내용 입력
--- description : deploy runner
--- tag-list : deploy
--- executor : shell
등록이 완료되면 gitlab-runner를 실행한다.
sudo gitlab-runner start
3. 프로젝트 root 경로에 .gitlab-ci.yml 생성
# master 브랜치에 push가 들어올 때 동작하는 job
deploy-to-server: # 임의의 job 이름
stage: deploy # stage는 build, test, deploy가 있음
only:
- master # master 브랜치에 커밋이나 변경사항이 있을 때만 동작
script:
- echo 'deploy to server'
- cd /home/gitlab-runner/builds/[gitlab-runner 이름]/0/../ # 프로젝트의 root 폴더로 이동
- mvn clean install # maven 명령어로 jar 파일 생성(maven이 설치되어 있어야 명령어를 실행할 수 있다.)
- cd /home/프로젝트명/target/ # jar 파일이 생성된 위치로 이동
- java -jar 파일명.jar # jar 파일 실행
tags:
- deploy # runner를 등록할 때 입력했던 tag
위 script에서 [gitlab-runner 이름]은 아래 경로로 따라가면 확인할 수 있다.
GitLab 저장소 -> Settings -> CI/CD -> Runners -> Expand
4. CI/CD 수행
프로젝트를 gitlab에 push하면 자동으로 CI/CD가 수행된다.
진행과정은 아래 메뉴에서 확인할 수 있다.
GitLab 저장소 메뉴 -> CI/CD -> pipeline
자세한 진행 과정을 보려면 pipeline 번호(#214)를 누르고 job 이름(deploy-to-server)를 누르면 자세한 CI/CD 과정을 볼 수 있다.
에러 발생 시 아래 글 참고
GitLab CI/CD 에러 해결
문제 sudo: no tty present and no askpass program specified. 메세지가 나오면서 CI/CD가 안 될 경우 해결 sudo vi /etc/sudoers 명령어로 파일을 열어서 아래 내용을 스크린샷과 같은 위치에 추가한다. gi..
seogineer.tistory.com
참고
GitLab CI/CD Pipeline 구성과 .gitlab-ci.yml
이 글은 GitLab CI/CD Pipeline 과 구성파일인 .gitlab-ci.yml 에 대해 설명합니다. GitLab CI/CD Pipeline 구성 CI/CD 파이프라인 수동 배포 설정 수동 job 실행 시 변수 설정 CI/CD 파이프라인 그룹화 파이프라인 아
bravenamme.github.io
Gitlab-CI 구성 & .gitlab-ci.yml 예제
CI/CD 도입 Gitlab을 설치하는 방법은 전에 다뤘다. 이번에는 CI/CD 도구를 도입했다. 예전에 일했던 프로젝트에서는 주로 jenkins를 사용했는데, 이번에는 Gitlab-CI를 써보기로 했다. Git 초심자가 대부
lovemewithoutall.github.io
GitLab-CI Runner 소개, 설치, 등록편 on CentOS, Windows (빌드 & 패키징 & 테스트 자동화)
ref : Install Gitlab Runner 이 글은 Gitlab CI - Runner설치에 대해 다룬다 * 8.x 버전당시 Gitlab CI 아키텍쳐 Runner는 CI시스템에서 우리가 명세한 작업을 수행하고 결과를 Gitlab으로 피드백하는 녀석이다..
allroundplaying.tistory.com