티스토리 뷰

Git

Gitlab Runner 활용기 (3)

Hello. David 2018. 3. 11. 23:41

다음 다모아 소스는 git으로 관리가 되고 있었으며, 서버 환경은 이미 Dockerizing 되어있었다.

소스는 Host OS에 특정유저에게 지정 되어 Git으로 관리 하였고, 해당 디렉토리를 Docker가 mount해서 사용 하는 구조를 가지고 있다.

그리고 Docker 안쪽은 WAS가 구동 되고 있었는데, 해당 WAS는 bash shell script로 스트립팅을 해놓았다. 이 스크립트를 실행만 해주면 되는 구조 였다. 


정리를 하자면 소스는 Host os에 있으며, Docker 컨네이너가 해당 소스 디렉토리를 Mount해서 서버가 구동 되어 있고, 간단 하게 Docker 컨테이너에게 shell 명령만 전달 해주면 되는 것이였다.


Gitlab runner는 Remote branch에 push가 되면 설정된 스테이지 위에 작업 들을 실행 해준다. 그렇기 때문에 yml로 구성된 Job 설정파일을 만들어 주면 된다.


그럼! 먼저 Gitlab runner에게 yml로 구성된 Job파일을 작성 해보자

stages:
  - test

test:
  stage: test
  script:
    - cd /home/test/project && git pull origin develop
    - sudo docker exec test_contanier bash /source/script/cmd/restart
  tags:
    - my-runner

일단 스테이지를 나열 하고, 각 스테이지가 어떤 작업을 할지 작성 해준다. tag를 지정하면 tag가 지정된 Runner가 작업을 실행 해준다.


좀 더 각각 작성 된 설정을 살펴 보자.


- stages

어떤 작업들을 진행할지 나열 한다. (예를 들면 이런식? 빌드, 테스트, 배포)

stages:
  - build
  - test
  - deploy

- test (job의 명세)

- test > stage 

명시된 스테이지의 작업(test)을 설정 하여, runner가 동작 할 수 있도록 한다.


- test > script

실제로 실행할 스크립트를 나열 한다.


- test > tags

작업에 지정된 tag를 runner가 확인 하여 특정 작업을 실행 할 수 있도록 한다. (예를 들면 development, test, production)


실제로 Git에 push를 하고 동작을 잘 하는지 확인을 해보자


Gitlab Project에서 Piplines > Jobs 메뉴로 가면 실행 된 작업들이 나열 된다.



해당 작업이 잘 동작 했는지 확인을 해보면 아래와 같이 문제 없이 작업이 진행 된 것을 알 수 있다.

(아래 예시는 테스트 Runner작업을 구성 해보고 잘 동작 하는지 확인 한 것이다)


참고! 

간혹 작업 요청은 실행 되는데, 작업이 요청이 전달 된 후 실제로 동작 하지 않는 경우가 있다.


보통 두가지 케이스이다. 

- Gitb runner가 잘 등록 안되어 있던가 (CI 서버에 Runner가 잘 등록 되어 있는지 확인한다)

- 운영 서버 또는 테스트 서버가 방화벽이 막혀 있던가 Inbind, Outbind 잘 확인 하길 바란다.


원문 & 출처: https://docs.gitlab.com/ce/ci/yaml


Gitlab Runner는 shell 명령 말고도 다양한 작업을 진행해 줄 수 있다.


우리가 가지고 있는 생각과 고민들은 이미 구현 되어 있을지 모른다. 잘 구현된 기능을 "어떻게 활용 할 것인가?"를 고민할 때인것 같다.

'Git' 카테고리의 다른 글

Gitlab Runner 활용기 (2)  (0) 2018.03.06
Gitlab Runner 활용기 (1)  (0) 2018.02.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함