Opensource

jenkins + git 연동 = dev

KK_Ryong 2023. 3. 22. 14:22

기존 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 버전 맞춰줄 것 

https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz

 

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 [서비스 이름]

 

확인