Linux

docker gitlab runner install

Naan 2021. 1. 18. 16:31
320x100

centos 7 환경으로

docker gitlab runner install 설치 방법

우선

# yum upgrade -y

재부팅

repo 다운

# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# yum install docker-re

# service docker  start

# chkconfig docker on

# service firewalld stop(나중에 방화벽 설정은 알아서..)

# docker ps -a

CONTAINER ID   IMAGE                     COMMAND             CREATED          STATUS                     PORTS     NAMES

뜨면 정상적으로 docker 구동 완료

gitlab 다운

# docker pull gitlab/gitlab-ce

Using default tag: latest

latest: Pulling from gitlab/gitlab-ce

be8ec4e48d7f: Pull complete

33b8b485aff0: Pull complete

d887158cc58c: Pull complete

05895bb28c18: Pull complete

d087767c5809: Pull complete

c284fd34cd1f: Pull complete

014593a9c3e6: Pull complete

29e764d94999: Pull complete

5a49ddc0561a: Pull complete

3180f7b26cb7: Pull complete

Digest: sha256:043914aedb3c155a3d0743a85125fb1407022efd834ac6f2a97f27f9948b669e

Status: Downloaded newer image for gitlab/gitlab-ce:latest

docker.io/gitlab/gitlab-ce:latest

이러면 끝
이미지 확인은
# docker images
REPOSITORY         TAG       IMAGE ID       CREATED      SIZE
gitlab/gitlab-ce   latest    033bcfa1b036   4 days ago   2.09GB
 
그럼 구동 시작을 해보자.
 
# docker run --detach \
> --hostname 192.168.0.11 \
> --publish 443:443 --publish 80:80 --publish 22:22 \
> --name gitlab \
> --restart always \
> --volume /work/gitlab/config:/etc/gitlab \
> --volume /work/gitlab/logs:/var/log/gitlab \
> --volume /work/gitlab/data:/var/opt/gitlab \
> gitlab/gitlab-ce:latest
0a262e497cfae1b960d5704b2909115864ca256a4676cfbb48710800fd5ac128
docker: Error response from daemon: driver failed programming external connectivity on                                                                                                                         endpoint gitlab (089cbddabf459e0bddae447e8be9af4644f8e622e2edd6032e8abe3f5e7b200a): Err                                                                                                                        or starting userland proxy: listen tcp4 0.0.0.0:22: bind: address already in use.
 
포트 문제 발생 했다 22포트 변경해주자.
하지만 먼저 contatiner 가 생성 되었기 때문에 삭제 하고 다시 만들어야 한다.
 
우선 구동 멈추고.
# docker stop gitlab(생성때 이름
)
CONTAINER ID 를 알아야 함으로
# docker ps -a
CONTAINER ID   IMAGE                     COMMAND             CREATED          STATUS    PORTS     NAMES
e41576646fec   gitlab/gitlab-ce:latest   "/assets/wrapper"   50 seconds ago   Created             gitlab
 
# docker rm e41576646fec
 
이제 다시 만들자.
# docker run --detach \
> --hostname 192.168.0.11 \
> --publish 443:443 --publish 80:80 --publish 222:22 \
> --name gitlab \
> --restart always \
> --volume /work/gitlab/config:/etc/gitlab \
> --volume /work/gitlab/logs:/var/log/gitlab \
> --volume /work/gitlab/data:/var/opt/gitlab \
> gitlab/gitlab-ce:latest
0a262e497cfae1b960d5704b2909115864ca256a4676cfbb48710800fd5ac128
 
# docker ps -a
CONTAINER ID   IMAGE                     COMMAND             CREATED         STATUS                            PORTS                                                           NAMES
e40a00378698   gitlab/gitlab-ce:latest   "/assets/wrapper"   6 seconds ago   Up 5 seconds (health: starting)   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:222->22/tcp   gitlab
 
starting 하고 있다.
 
# docker ps -a
CONTAINER ID   IMAGE                     COMMAND             CREATED         STATUS                   PORTS                                                           NAMES
e40a00378698   gitlab/gitlab-ce:latest   "/assets/wrapper"   2 minutes ago   Up 2 minutes (healthy)   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:222->22/tcp   gitlab
 
2분후에 보면 healthy 상태다 이상태에서 브라우저 열고 접속 하면 gitlab 이 정상 구동 된다.
 
이미지 장비에 들어 가고 싶다면
# docker exec -it gitlab /bin/bash
장비로 들어가서 세부적으로 셋팅을 더 할 수 있다.
 
데이터 복사는
# docker cp /path/file gitlab:/tmp/
 
반대로 복사는
# docker gitlab:/tmp/file /tmp/
 
gitlab 환경 설정 수정은
# docker exec -it gitlab vi /etc/gitlab/gitlab.rb
에서 수정하고
# docker exec -it gitlab gitlab-ctl reconfigure
 
https://algo79.tistory.com/entry/gitlab-ssl-%EC%A0%81%EC%9A%A9
ssl 적용은 링크에 있는 파일 및 환경 수정 해주면 된다.
 
이렇게 하면 gitlab 이 정상 작동 된다.
 
http://localhost 로 접속 하면 gitlab 이 접속이 된다.
 

 

runner 테스트를 하기 위해서 new project 를 생성
 

 

 

import project 클릭

Repo by URL 클릭

URL 에다가 

https://github.com/do-community/hello_hapi.git

 

do-community/hello_hapi

Solution for Exercise 1 of Exercises For Programmers using Hapi and Lab for tests - do-community/hello_hapi

github.com

입력 및 프로젝트 생성

예제 프로젝트가 생성 된다.

이제 테스트로 파일 하나 생성 해보자.

 

파일 생성 해서 올리자.

pipeline 에 가보면 pending 되어 있다 pending 을 눌러보자

install_dependencies - pending 을 눌러보자

pending 된 이유가 있다.  runner 를 구동해주자.

우선 register 를 먼저 등록을 해주자.

runner 정보는

Project - setting - CI / CD 클릭

정보가 있다.

# docker run --rm -it -v /work/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register

URL : 사이트 주소 입력

token : 위 사이트에 보이는 token 입력

description : 엔터 혹은 알아서 입력

tags : 엔터 혹은 알아서 입력

executor : docker

default docker image : alpine:latest

를 입력 하면

runner 생성 된다.

CI / CD pipelines 들어가보면

running 으로 변경 되어있고.

 

다 끝나면 passed 로 뜬다.

 

정상적으로 작동이 안될때는 SSL 미 적용 상태에서 테스트 해보자.

320x100