[CI/DI] 자동 배포를 위한 방법(with docker, jenkins, github)
2019. 12. 5. 16:28ㆍ개발/OVPS
반응형
1. Docker 기반 Jenkins 설치
- cmd 창 이동 및 해당 명령어
docker run -d -p 8080:8080 --name jentinsdocker -u 0 -v //var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
: : docker 기반으로 자동으로 이미지를 다운받고 컨테이너를 생성 한다.
:: -d : 백그라운드 run
:: 8080:8080 : 왼쪽(host port), 오른쪽(컨테이너안에서 설정한 port) Port 포워딩
:: --name : 컨테이너 이름
:: -u 0 : root라는 권한를 주는 것 (컨테이너 안에서 각 종 명령어를 사용하기 위한 것)
:: -v //var/run/docker.sock:/var/run/docker.sock : 컨테이너 안에서 docker 명령어를 쓰기 위한 sock 연결
- jenkins 키
- jenkins 키 확인
2. Jenkins + docker + gradle + github 를 이용한 자동 배포 (CI/CD)
- jenkins, pipeline 만들기(SCM)
1) 새로운 Item 선택
2) 이름 작성 및 Pipeline 선택 후 저장
3) 아이템 클릭 후 "Plpeline" 텝 이동 및 설정
-
Definition > Pipeline script from SCM 선택
-
Repositories에 Repository URL (github 주소) , Credentials (계정), Branch Specifier (브랜치) 설정
-
Script Path JenkinsFile.groovy 위치 설정 (기본 값 Project root) 및 저장
4) Repository Credentials 설정
- Username, Password, ID를 입력
5) Build Triggers 설정
- Poll SCM: 소스 변경시 자동 Build 트리거
6) JenkinsFile
-
Jenkins가 Build 할 때 참조하는 파일
-
프로젝트의 루트 경로에 위치
7) DockerFile
-
docker가 Build 할때 참조하는 파일
-
JenkinsFile.groovy와 동일하게 프로젝트의 루트 경로에 위치
반응형
'개발 > OVPS' 카테고리의 다른 글
[소스이관] github 에서 bitbucket으로 옮기기 (0) | 2020.08.03 |
---|---|
[jenkins & slack] jenkins & slack 연동 (with pipeline) (0) | 2019.12.05 |
[jenkins] docker_jenkins_blue ocean 설치 (0) | 2019.11.28 |
[Slack&github] slack & github 연동 (0) | 2019.11.25 |