티스토리 뷰

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

위 예제는 ZKxsgifX가 runner 이름이다.

 

4. CI/CD 수행

프로젝트를 gitlab에 push하면 자동으로 CI/CD가 수행된다.

진행과정은 아래 메뉴에서 확인할 수 있다.

GitLab 저장소 메뉴 -> CI/CD -> pipeline

 

자세한 진행 과정을 보려면 pipeline 번호(#214)를 누르고 job 이름(deploy-to-server)를 누르면 자세한 CI/CD 과정을 볼 수 있다.

Job succeeded가 나오면 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

 

'DevOps' 카테고리의 다른 글

오라클 클라우드 인스턴스 생성 및 SSH 접속  (0) 2022.06.04
Docker 설치  (0) 2022.06.04
GitLab CI/CD 에러 해결  (0) 2021.08.19
RSA key pair를 이용한 SSH 접속  (0) 2021.03.31
방화벽 설정에서 CIDR 표기법  (0) 2021.03.30
댓글
Total
Today
Yesterday
링크
Apple 2023 맥북 프로 14 M3, 스페이스 그레이, M3 8코어, 10코어 GPU, 512GB, 8GB, 한글