Gitlab Runner 는 Gitlab CI/CD와 pipeline에서 Job을 실행시키는 어플리케이션으로
별도로 설치해서 사용할 수 있다.
Gitlab docker 설치 (Windows Docker)
docker run --detach --name gitlab
--hostname gitlab.pli.com
--publish 443:443 --publish 80:80 --publish 4422:22
--volume C:\gitlab:/etc/gitlab
--volume gitlab-logs:/var/log/gitlab
--volume gitlab-data:/var/opt/gitlab
gitlab/gitlab-ce
1. volume설정해서 gitlab을 먼저 설치한다.
2. Gitlab root 계정 비밀번호 변경
$docker exec -it gitlab bash
# gitlab-rails console -e production
# user = User.where(id: 1).first
# user.password='[변경할 비밀번호]'
# user.password_confirmation='[변경할 비밀번호]'
# user.save
=> true
Gitlab-Runner 설치
1. gitlab-runner 다운로드
https://docs.gitlab.com/runner/install/bleeding-edge.html#download-any-other-tagged-release
2. C:\gitlab-runner(폴더 생성)
download받은 파일을 폴더로 옮겨준다.
// docker 말고 shell로 하면 gitlab-runner shell에서 빌드할 수 있다.
// shell로 선택하자ㅠㅠ
$gitlab-runner-windows-amd64.exe register
http://gitlab.pli.com:8080/
// Token 등록
$Please enter the default Docker image (e.g. ruby:2.6):
alpine
>> Token 은 gitlab에서 연동할 Project > Settings > CI/CD > Runner > Token
$./gitlab-runner.exe install
$./gitlab-runner.exe start
제대로 등록이 되었으면 gitlab 해당 프로젝트에서 runner를 확인할 수 있다.
3. 프로젝트에서 new file을 만들어서 runner를 테스트해보자.
.gitlab-ci.yml을 선택하면 다양한 template을 확인할 수 있다.
stages:
- test
- build
- deploy
test:
stage: test
script: echo "Running tests"
build:
stage: build
script: echo "Building the app"
.gitlab-ci.yml
4. 프로젝트의 CI/CD Pipeline에서 확인할 수 있다.
Gitlab-Runner Docker 설치
docker run -d --name gitlab-runner --network gitlab-runner-net -v C:\gitlab-runner:/etc/gitlab-runner -v //var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest
windows docker로 올릴 경우 docker.sock경로에 //가 두 개 붙어야한다.
gitlab runner 를 도커로 실행하고 나머지는 똑같다.
$ docker exec -ti gitlab-runner bash
root@48aea5eded7e:/# gitlab-runner register
Gitlab Runner 연동 중 발생하는 오류
This job is stuck because the project doesn't have any runners online assigned to it.
git runner Failed to connect to localhost port 80: Connection refused
runner의 config.toml 파일에 clone url추가 runner restart
[[runners]]
name = "test-runner"
url = "https://gitlab.example.com"
token = "PzgMxRCqfHiNiPJyLQRC"
executor = "docker"
clone_url = "http://192.168.1.23"
참고사이트 : https://oramind.com/private-cicd-using-gitlab-docker/
'CICD(BUILD tool)' 카테고리의 다른 글
docker-swarm 이용해서 jenkins / jenkins slave 설치 (0) | 2022.07.29 |
---|---|
gitlab-runner docker 내부 git연결 시 설정 (0) | 2021.07.26 |
docker gitlab ssl(https) 적용 (0) | 2021.07.20 |
Jenkins Rest API with JAVA (0) | 2021.05.13 |
windows gradle 설치 (0) | 2021.05.04 |