$ docker exec -it jenkins bash
root@jenkins:/ apt-get update ; apt-get upgrade -y
root@jenkins:/ apt-get install vim -y
root@jenkins:/ apt-get install git -y
root@jenkins:/ vim /etc/hosts
xxx.xxx.xxx git.xxxx.com
GitLab은 SSH Public Key로 인증 후 사용할 수 있기 때문에 GitLab을 연동시키기 위해서는 SSH 접속을 위한 키 생성이 필요하다.
root@jenkins:/ exit
$ ssh-keygen -t rsa -C "your-gitlab-email"
💬 하단 이미지 설명
- 1번: Key 파일 저장 위치를 묻는 내용으로 디폴트로 정해준 위치에 저장할거면 그냥 엔터⏎!
만약 위치를 변경하려면 원하는 위치 경로를 입력하면 된다.- 2번: 해당 Key 파일의 비밀번호를 입력하라는 내용이다. (연동 시 필요하니 꼭 기억해두기❗️)
만약 비밀번호 입력을 원하지 않으면 그냥 엔터⏎!- 3번: 2번에서 입력한 비밀번호 확인
SSH Key 생성이 완료되면 'cd ~/.ssh' 위치에 id_rsa, id_rsa.pub 두 가지 파일로 저장이 된다.
해당 파일들은 읽기, 쓰기, 실행 모든 권한을 사용자만 가져야 하기 때문에 권한을 부여해준다.
$ chmod 700 ~/.ssh/id_rsa*
SSH Key 생성이 완료되면 'cd ~/.ssh' 위치에 id_rsa, id_rsa.pub 두 가지 파일로 저장이 된다.
해당 파일들은 읽기, 쓰기, 실행 모든 권한을 사용자만 가져야 하기 때문에 권한을 부여해준다.
$ cat ~/.ssh/id_rsa.pub
👉 ssh-rsa 부터 입력했던 GitLab 계정 이메일 주소까지 모두 Key 값이기 때문에 전부 다 복사❗️
GitLab 로그인
GitLab 화면 우측 상단 프로필 선택 후 Edit profile로 이동
SSH Keys 메뉴 이동
복사한 pub key 값 붙여넣은 후 Add key 버튼 클릭
플러그인 설치는 Manage jenkins → manage plugins 에서 가능하다
available plugins 탭으로 이동하여 검색 후 설치할 수 있다. 해당 칸을 누르는 것이 아닌 체크박스에 체크를 하고 밑에 있는 install 버튼을 눌러야 하니 헷갈리지 말자.
NewItem
-> 프로젝트명 입력, Pipeline 선택 -> OK
클릭고급
을 눌러준다.Jenkinsfile
입력Credentials
의 아래에 + Add
부분을 눌러 계정 생성UserName gitlab 계정 아이디
Password gitlab 계정 비밀번호
id Credential을 식별하는 아이디
Description Credential에 대한 설명
OK
버튼을 클릭한다.개발 컨테이너 접속
$ docker exec -it jenkins /bin/bash
root@jenkins:/# git clone 프로젝트 이름(여기서는 myproj 이라고 하겠음)
root@jenkins:/# cd ./myproj
Jenkinsfile 작성
root@jenkins:/myproj# vim Jenkinsfile
pipeline {
agent any
stages {
stage('Hello') {
steps {
echo "hello world"
}
}
stage('Good') {
steps {
echo "good day"
}
}
stage('Finish') {
steps {
echo "Finished"
}
}
}
}
root@jenkins:/myproj# git add Jenkinsfile
root@jenkins:/myproj# git commit -m "Add Jenkins"
root@jenkins:/myproj# git push origin (브랜치 이름)
최초 연동 시 수동으로 빌드해야 함(다음부턴 위에서 git push로 자동 빌드 가능)
프로젝트 페이지에서 Stage View 확인 가능
빌드 페이지에서 콘솔 출력결과 확인 가능