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
- gcc regex
- 정규식 컴파일
- snmp test
- g++ 업데이트
- c3 축 가리기
- CentOS7
- 1697
- InfluxDB
- grafana dashboard
- centos pyhon 설치
- c++ 정규식
- influxdb 설치
- selinux port 등록
- 정규식 문자열 출력
- linux시간으로 변경
- python os
- semanage
- c3 second
- subporcess path
- gcc 업데이트
- 백준
- telegraf
- snmp
- python subprocess
- python popen
- regex_search
- c3 초
- c3 step graph
- 정규식 활용
- c3 축 없애기
Archives
- Today
- Total
리셋 되지 말자
[Jenkins] 로컬 gitlab Jenkins 연동 본문
(miiingo.tistory.com/170?category=670534)
miiingo 님의 글을 보고 따라해 보았다. 중간에 다른점도 많고, 배포 서비스도 다르다.
1. 서버 구성
로컬 환경에서 코드를 push 했을 때 수정사항이 반영되도록 테스트하기 위해 위처럼 구성하였다.
AWS나 외부 서비스를 목표로 한게 아니라 CI/CD 과정을 간단하게 테스트하기 위함이다. 외부 서비스까지 구현하는걸 목표로 하는 분은 이 창을 닫고 다른 글을 찾아보시기를...
2. [CentOS 7] 준비 사항
- Docker 설치
sudo yum update -y
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce-3:20.10.2-3.el7 docker-ce-cli-3:20.10.2-3.el7 containerd.io
systemctl status docker
systemctl start docker
systemctl status docker
systemctl enable docker
ce는 community edition이다. Docker repository는 설치하지 않았다.
- docker compose 설치
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
docker-compose --version
chmod +x /usr/local/bin/docker-compose
docker-compose --version
download/ 다음에 버전을 잘 맞춰서 설치한다. Docker와 설치가 많이 나면 동작을 안할 수도 있다고 한다.
- git 설치
yum install -y git
3. [CentOS 7] GitLab을 docker compose로 실행
실행을 위해 docker-compose.yml 파일을 작성한다.
- docker-compose.yml
# cat docker-compose.yml
web:
image: "gitlab/gitlab-ce:latest"
restart: always
hostname: "192.168.0.4"
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://192.168.0.4'
# Add any other gitlab.rb configuration here, each on its own line
ports:
- "9090:80"
- "22:22"
- "443:443"
volumes:
- "~/gitlab/config:/etc/gitlab"
- "~/gitlab/logs:/var/log/gitlab"
- "~/gitlab/data:/var/opt/gitlab"
192.168.0.4 대신에 자신에게 맞는 ip 주소를 입력한다. external_url도 자신에게 맞는 ip 주소를 입력한다.
docker-compose up
위 명령어를 사용하여 gitlab 컨테이너를 실행한다.
- 192.168.0.4:9090 접속
호스트 포트(9090)로 컨테이너의 80포트로 접속할 수 있다.
4. Jenkins 컨테이너 실행
docker run -v /var/run/docker.sock:/var/run/docker.sock -v /srv/jenkins/home:/var/jenkins_home -p 8080:8080 -p 50000:50000 --name=jenkins jenkins/jenkins
위 명령어로 젠킨스를 실행한다.
[error]
touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
위와 같은 에러 발생시 /srv/jenkinx/home의 퍼미션을 컨테이너의 jenkins 유저가 접근가능하도록 권할 설정을 아래와 같이 해준다.
sudo chown -R 1000:1000 /srv/jenkins/home/
'CI CD' 카테고리의 다른 글
[Jenkins] Jenkins GitLab 연동(5) Jenkins 설정 및 빌드 테스트 (0) | 2021.02.24 |
---|---|
[Jenkins] Jenkins GitLab 연동(4) Jenkins와 GitLab 연동-2 (0) | 2021.02.24 |
[Jenkins] Jenkins GitLab 연동(3) Jenkins와 GitLab 연동-1 (0) | 2021.02.24 |
[Jenkins] Jenkins GitLab 연동(2) Jenkins 설치 및 Jenkins 설정 (0) | 2021.02.24 |
[Jenkins] Jenkins GitLab 연동(1) Docker 설치, GitLab 설치 (0) | 2021.02.24 |
Comments