GitLab Runner Install

leesjpr·2021년 10월 7일
0

MLOps

목록 보기
7/12
post-thumbnail
  • GitLab 을 통한 CD 수행을 위한 GitLab Runner 를 GCP VM 상에 Install 하는 과정을 기록
  • Runner 의 종류 및 세부 내용은 공식 문서를 참조
    * https://docs.gitlab.com/runner/

공식 저장소를 사용한 Gitlab Runner Install

저장소 업데이트 및 apt install

$ curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  5945  100  5945    0     0  24770      0 --:--:-- --:--:-- --:--:-- 24770
Detected operating system as Ubuntu/focal.
Checking for curl...
Detected curl...
Checking for gpg...
Detected gpg...
Running apt-get update... done.
Installing apt-transport-https... done.
Installing /etc/apt/sources.list.d/runner_gitlab-runner.list...done.
Importing packagecloud gpg key... done.
Running apt-get update... done.

The repository is setup! You can now install packages

$ sudo apt-get install gitlab-runner
$ apt list --installed | grep gitlab

Runner 를 GitLab 에 등록

  • GitLab menu > setting > CI/CD > Runners open
  • 비대화식 모드 등록
$ sudo gitlab-runner register \
  --non-interactive \
  --url "[GITLAB_URL]" \
  --registration-token "[GITLAB_REG_TOKEN]" \
  --executor "docker" \
  --docker-image alpine:latest \
  --description "docker-runner" \
  --tag-list "docker,aws" \
  --run-untagged="true" \
  --locked="false" \
  --access-level="not_protected"
  
  
Runtime platform                                    arch=amd64 os=linux pid=4130 revision=b37d3da9 version=14.3.0
Running in system-mode.

Registering runner... succeeded                     runner=aHFESiaX
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

위 이미지와 같이 Specific runner 등록이 완료 된 것을 확인 가능

GitLab Runner 사용

$ sudo vi /etc/gitlab-runner/config.toml
  • 등록된 Runner
$ sudo gitlab-runner list
  • 러너의 토큰과 URL을 지정하는 삭제 옵션으로 확인
$ sudo gitlab-runner verify --delete -t YMsSCHnjGssdmz1JRoxx -u http://git.xxxx.com/

Ansible AWX 기반 Install

  • Ansible 기반으로 설치 하는 경우 설치 할 대상 Node 에 대한 Ansible 설정은 기본적으로 완료 되었다고 가정함

Ansible playbook 작성

Ansble galaxy 를 통한 install

% ansible-galaxy install riemers.gitlab-runner -p roles

Starting galaxy role install process
- downloading role 'gitlab-runner', owned by riemers
- downloading role from https://github.com/riemers/ansible-gitlab-runner/archive/v1.6.33.tar.gz
- extracting riemers.gitlab-runner to /Users/leesj/Documents/vs_code/mlops_awx_playbooks/roles/riemers.gitlab-runner
- riemers.gitlab-runner (v1.6.33) was installed successfully
% tree riemers.gitlab-runner
riemers.gitlab-runner
├── LICENSE
├── README.md
├── defaults
│   └── main.yml
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── tasks
│   ├── Container.yml
│   ├── Unix.yml
│   ├── Windows.yml
│   ├── config-runner-container.yml
│   ├── config-runner-windows.yml
│   ├── config-runner.yml
│   ├── config-runners-container.yml
│   ├── config-runners-windows.yml
│   ├── config-runners.yml
│   ├── global-setup-windows.yml
│   ├── global-setup.yml
│   ├── install-container.yml
│   ├── install-debian.yml
│   ├── install-macos.yml
│   ├── install-redhat.yml
│   ├── install-windows.yml
│   ├── line-config-runner-windows.yml
│   ├── line-config-runner.yml
│   ├── main.yml
│   ├── register-runner-container.yml
│   ├── register-runner-windows.yml
│   ├── register-runner.yml
│   ├── section-config-runner-windows.yml
│   ├── section-config-runner.yml
│   ├── systemd-reload.yml
│   ├── update-config-runner-windows.yml
│   └── update-config-runner.yml
├── tests
│   ├── files
│   │   └── mock_gitlab_runner_ci.py
│   ├── inventory
│   ├── test.yml
│   ├── travis-bootstrap-ansible.ps1
│   └── vars
│       ├── Windows.yml
│       └── default.yml
└── vars
    ├── Darwin.yml
    ├── Debian.yml
    ├── RedHat.yml
    ├── Windows.yml
    ├── default.yml
    └── main.yml

작성중........

참고자료

0개의 댓글