1. Docker로 Jenkins 설치
1) jenkins 이미지 파일 내려받기
docker pull jenkins/jenkins:lts
2) jenkins 이미지 컨테이너로 실행
ubuntu와 젠킨스 컨테이너 볼륨을 연결한다.
- ubuntu의 /jenkins 와 컨테이너의 /var/jenkins
- ubuntu의 /home/ubuntu/.ssh 와 컨테이너의 /root/.ssh
- ubuntu의 /var/run/docker.sock 와 컨테이너의 /var/run/docker.sock (바깥에 설치된 docker를 jenkins 속 도커에서도 사용할 수 있도록 한다.)
이름은 jenkins, 계정은 root로 한다.
docker run -d -p 8080:8080 -p 50000:50000 -v /jenkins:/var/jenkins -v /home/ubuntu/.ssh:/root/.ssh -v /var/run/docker.sock:/var/run/docker.sock --name jenkins -u root jenkins/jenkins:lts
2. jenkins 접속
1) http://도메인주소:8080 로 접속한다.
2) 암호입력
# 방법 1 - 로그로 암호를 알아낸다.
docker logs jenkins
# 방법 2 - 젠킨스 컨테이너에 접속해 암호파일을 확인한다.
docker exec -it jenkins bash
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
3) 플러그인 설치
Install suggested plugins을 선택한다.
4) 계정 생성
원하는 아이디, 비밀번호로 계정을 생성한다.
3. GitLab과 연동
1) ssh 키 생성
전부 enter를 입력해서 default로 설정한다.
ssh-keygen
2) GitLab Deploy key 등록
id_rsa.pub에 있는 public key 값을 복사한다. ‘ssh-rsa’로 시작해서 이메일주소로 끝나는 모든 것을 복사해야 한다.
cat /home/ubuntu/.ssh/id_rsa.pub
Preferences → SSH Keys에서 새 SSH key를 등록한다. key에 복사한 값을 붙여넣고, Expiration date를 설정한다. title은 아무거나 해도 된다.
3) jenkins credential 등록
id_rsa에 있는 private key 값을 복사한다. -----BEGIN OPENSSH PRIVATE KEY----- 부터 -----END OPENSSH PRIVATE KEY-----까지 전부 복사해야 한다.
cat /home/ubuntu/.ssh/id_rsa
http://도메인:8080/credentials/store/system/domain/_/ 에 접속해서 Add Credentials를 클릭한다.
Kind는 SSH Username with private key로 설정한다.
ID는 파이프라인 스크립트 작성 시 credentialsId로 사용될 이름을 쓴다.
Username은 root, Private Key는 위에서 복사한 값을 전부 붙여넣는다.
4. 플러그인 추가 설치
젠킨스 관리 > Plugin Manager > 설치가능 목록에서 gitlab을 검색해 GitLab, Generic Webhook Trigger, Gitlab API, GitLab Authentication을 설치한다.
docker를 검색해서 Docker, Docker Commons, Docker Pipeline, Docker API 를 설치한다.
Generic Webhook Trigger Plugin을 설치한다.
5. maven 설정
백엔드 프로젝트는 maven을 사용해 빌드하기 때문에 설정이 필요하다.
젠킨스 관리 > Global Tool Configuration에서 Maven을 찾는다.
이름은 M3으로 했고, install automatically를 클릭한다.
댓글