jenkins + git 연동 = dev
기존 git 과 jenkins 있는 상태에서 연동
키 생성
~/.ssh
ssh-keygen -t rsa -f [key 이름]
(.pub 이 public)
git repo 에서 settings - Deploy keys 에 public key값을 넣어 생성
jenkins 관리 > manage credentials > global로 private key 값을 넣어 생성
(container 사용 할 경우 docker exec -it [컨테이너ID] /bin/bash 로 들어가 /root/.ssh 안에 public private key 복사 해서 넣어줄것)
(ec2쪽 authorized_keys 도 컨테이너에 복사해서 넣어줄 것)
신규 셋팅일때 tool 에 가서 java 버전 맞춰줄 것
jenkins project 설정
GitHub project 에 http git hub repo 주소 넣어주고
소스 코드 관리 git 에는
git repo code에 ssh 값 복사 하여 jenkins project에 넣어준다 (git@시작)
credentials 에는 위에 만든것을 넣어 오류 나는지 확인 할 것
브런치에는 dev로 설정
(dev > stg > main(prd) 순으로 넘어감)
dev 서버 세팅이라 빌드 유발과 빌드 환경은 차후 설정 해줄것
빌드 스텝에서는 use gradle wrapper 사용 (make gradlew 체크)
Tasks에는 (spring boot 용이라 bootjar 사용)
clean
bootjar
여기까지 할 경우 dev 서버 해당 위치에 jar 파일이 떨어지지만 해당 파일을 이동 시킬 순 없다
플러그인에서 Publish over SSH 설치 하여 따로 접근 해줄 것
설치 후
jenkins 관리 젤 아래에 있다
SSH Servers 눌러 생성
Name = 보여질 이름
Hostname = 해당 서버 IP
Username = 해당 서버 로그인 할 ID
고급을 눌러서
Use password 눌러 ID 에 맞는 PW 설정 해주고 Test configuration 눌러 Success 뜨면 완성
Project로 돌아가서 아래쪽에 빌드 후 조치에서
Send build artifacts over SSH 를 눌러 SSH Server는 만들어둔 dev로
Source files 에는 옴길 파일 위치 Remote directory에는 옴겨질 위치 Exec command 에는 실행할 명령어 (cp /home/*jar /home/docker/ 이런식)
docker-compose restart [서비스 이름]
확인