Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백준
- c3 step graph
- linux시간으로 변경
- InfluxDB
- gcc 업데이트
- c3 초
- c++ 정규식
- c3 second
- python os
- influxdb 설치
- c3 축 없애기
- snmp
- python popen
- 정규식 활용
- 1697
- selinux port 등록
- CentOS7
- semanage
- regex_search
- g++ 업데이트
- grafana dashboard
- c3 축 가리기
- 정규식 컴파일
- centos pyhon 설치
- python subprocess
- 정규식 문자열 출력
- telegraf
- snmp test
- gcc regex
- subporcess path
Archives
- Today
- Total
리셋 되지 말자
[GitLab CI] docker gitlab-runner 등록 및 간단 예제 본문
간단하게 gitlab runner를 docker로 실행해서 CI 과정을 수행해봄
0. 사전준비
- docker 설치(gitlab-runner를 docker로 실행하기 위해서 설치 필요. 운영체제 별로 local로 설치하는 법이 존재하지만 여기서는 docker로 runner를 실행함. shared runner를 사용할 경우는 runner를 생성하여 실행할 필요 없음. shared runner를 사용하는 법은 다루지 않음)
- gitlab 가입(가입 방법은 다루지 않음)
1. 프로젝트 생성
2. ssh키 등록(이미 등록한 경우나 public repogitory로 생성한 경우 생략)
링크를 따라하여 등록(docs.gitlab.com/ee/ssh/README.html#generate-an-ssh-key-pair)
3. gitlab-runner
컨테이너 백그라운드 실행
$ docker run -d --name gitlab-runner gitlab/gitlab-runner:latest
컨테이너 접속
$ docker exec -it gitlab-runner bash
gitlab-runner register
root@bf9ecb4da995:/# gitlab-runner register
Runtime platform arch=amd64 os=linux pid=31 revision=775dd39d version=13.8.0
Running in system-mode.
Enter the GitLab instance URL (for example, https://gitlab.com/):
GitLab 프로젝트 -> 좌측 메뉴중 Settings -> CI / CD -> Runners의 Expand 클릭
빨간색 표시 한 항목을 차례대로 입력
Enter the GitLab instance URL (for example, https://gitlab.com/):
https://gitlab.com/
Enter the registration token:
jpFPYPGs94UMBFXLBzH4
Enter a description for the runner:
[bf9ecb4da995]:
description 알맞게 입력
[bf9ecb4da995]: my gitlab runner
tag 입력(기억해 두어야함. yml 파일 작성에 쓰임)
Enter tags for the runner (comma-separated):
my-runner
Registering runner... succeeded runner=jpFPYPGs
Enter an executor: ssh, docker-ssh+machine, kubernetes, docker-ssh, docker, parallels, shell, virtualbox, docker+machine, custom:
executor 입력 - 여기서는 shell 을 사용. docker 등 다른걸사용하고 싶다면 gitlab-runner 컨테이너에 각각 설치가 되어있어야 한다고 함(docker를 사용하고 싶다면 docker가 설치되어 있어야함.) 확실하지 않음
shell 입력
Enter an executor: ssh, docker-ssh+machine, kubernetes, docker-ssh, docker, parallels, shell, virtualbox, docker+machine, custom:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
4. gitlab-runner 서비스 시작
백그라운드 시작
gitlab-runner start
현재세션 시작
gitlab-runner run
여기서는 실시간으로 동작을 확인하기 위해 run으로 실행
root@bf9ecb4da995:/# gitlab-runner run
Runtime platform arch=amd64 os=linux pid=66 revision=775dd39d version=13.8.0
Starting multi-runner from /etc/gitlab-runner/config.toml... builds=0
Running in system-mode.
Configuration loaded builds=0
listen_address not defined, metrics & debug endpoints disabled builds=0
[session_server].listen_address not defined, session endpoints disabled builds=0
5. GitLab 프로젝트 -> 좌측 메누 중 Settings -> CI / CD -> Runners의 Expand를 클릭하여 Specific runner가 설정 되었는지 확인
6. git clone 및 디렉토리 이동
$ git clone https://gitlab.com/Penguin135/ci-test.git
Cloning into 'ci-test'...
warning: You appear to have cloned an empty repository.
$ cd ci-test/
7. .gitlab-ci.yml 파일 작성
touch로 생성 굳이 안해도 됨.
$ touch .gitlab-ci.yml
- .gitlab-ci.yml (tags에 runner 생성시 입력한 tag 입력)
stages:
- test
lets_test:
stage: test
script:
- echo hello
- cd /home/gitlab-runner
- touch gen_empty_file
tags:
- my-runner
8. git commit 및 git push
$ git commit -m "gitlab-ci yml upload"
[master ebefad0] gitlab-ci yml upload
1 file changed, 13 insertions(+)
create mode 100644 .gitlab-ci.yml
$ git push
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://gitlab.com/Penguin135/ci-test.git
e3d0a00..ebefad0 master -> master
9. 왼쪽 CI / CD 메뉴 -> Pipelines 메뉴에서 passed 확인
10. 왼쪽 CI / CD 메뉴 -> Jobs 메뉴에서 passed된 Job 확인
빨간 표시 'passed'를 확인하면 로그 확인 가능
로그 확인
11. yml 파일에서 touch 명령어로 gen_empty_file이 생성되었는지 gitlab-runner 컨테이너 접속 후 확인
$ docker exec -it gitlab-runner bash
root@bf9ecb4da995:/# cd /home/gitlab-runner/
root@bf9ecb4da995:/home/gitlab-runner# ls
builds gen_empty_file
https://allroundplaying.tistory.com/21 - yml 파일 참고
https://github.com/toert/django-gitlab-ci-guide - 다음에 다뤄볼 Django CI 예제
https://americanopeople.tistory.com/335 - Django CI 구현시 참고할 블로그
'GitLab' 카테고리의 다른 글
gitlab runner shell executor (0) | 2022.06.16 |
---|---|
CI 파이프라인에 사용된 최대 swap memory 크기 구하기 (0) | 2022.05.17 |
docker, gitlab runner 설치 및 테스트 스크립트 (0) | 2022.05.12 |
gitlab runner 특정 버전 로컬 설치 (0) | 2022.05.11 |
Comments