[ubuntu]ubuntu setting(docker, gitlab-runner)

eunhye_·2023년 6월 9일
0

ubuntu

목록 보기
2/2

docker 설치

Ubuntu에 Docker를 설치하는 것은 매우 간단합니다. Docker 저장소를 활성화하고 저장소 GPG 키를 가져온 후 패키지를 설치합니다.

$ sudo apt update

// 새 HTTPS 리포지토리를 추가하는 데 필요한 종속성을 설치
$ sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

// 리포지토리의 GPG 키를 가져옴
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

// Docker APT 리포지토리를 시스템에 추가
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

// 최신 버전의 도커를 설치
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io

// 특정 Docker 버전을 설치
$ apt list -a docker-ce
$ sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io

// 설치가 완료되면 도커 서비스가 자동으로 시작
$ sudo systemctl status docker
# ● docker.service - Docker Application Container Engine
#      Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
#      Active: active (running) since Thu 2020-05-21 14:47:34 UTC; 42s ago
# ...

//도커 패키지가 업데이트되지 않도록 하려면 보류로 표시
$ sudo apt-mark hold docker-ce

// root외 유저에 도커 권한 부여
$ sudo usermod -aG docker $USER

// 설치 확인
$ docker container run hello-world
or
$ sudo docker version

docker 설치 참고
https://jjeongil.tistory.com/1968
https://dongle94.github.io/docker/docker-ubuntu-install/

gitlab-runner 설치

gitlab-runner를 docker와 사용하려면 docker 설치 필요!

$ su - root

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

$ sudo apt install gitlab-runner

$ sudo gitlab-runner register

Q: Enter the GitLab instance URL (for example, https://gitlab.com/):  (GitLab URL 입력하기)
I: https://gitlab.com/  (위에서 확인한 URL 카피하여 복사)

Q: Enter the registration token:  (GitLab Repository Token 입력하기)
I: ~~~~CA~~~~ (위에서 확인한 token 카피하여 복사)

Q: Enter a description for the runner:  (Runner Description 입력하기)
I: ex) GitLab Runner Test

Q: Enter tags for the runner (comma-separated):  (태그 입력하기, 여기서 입력된 태그는 gitlab-ci.yml파일에서 등록된 runner를 구분하기 위해 사용)
I: ex) dev-all

Q: Enter an executor: docker-ssh+machine, custom, parallels, shell, virtualbox, docker+machine, docker, docker-ssh, ssh, kubernetes:  (빌드에 사용되는 executor 선택)
I: ex) docker

Q: Enter the default Docker image (for example, ruby:2.6):  (Docker image default 입력)
I: docker:20.10.12  (위에서 확인한 docker 버전 입력)
or docker:latest

// runner 연결 확인
$ gitlab-runner list

// Docker를 사용해서 배포하는 경우
$ sudo usermod -aG docker gitlab-runner

// GitLab CI에 작성된 docker 명령어들은 모두 dind로 수행
// runner의 설정에 다음의 값들을 수정 및 추가해줘야 함
$ vi /etc/gitlab-runner/config.toml
... 
[[runners]]
  [runners.docker]
    privileged = true
    volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]
    network_mode = "host"
    pull_policy = ["always"]
 ...
 :wq //저장 후 나감
 
 $ service docker restart // 도커 재시작

gitlab-runner 설치 참고
https://yscho03.tistory.com/m/133
https://jforj.tistory.com/227

0개의 댓글