Jenkins CD

Jenkins CD(Code Deploy)

 

마지막  단계다. 전전포스팅에서 빌드가 끝나면 스크립트를 실행할 수 있도록 Plugin을 설치했다.

다시 보려면 아래 링크 확인!

https://1gold.tistory.com/79

 

그리고 전포스팅에서 jenkins유저가 ec2-user유저의 홈디렉토리에 접근 가능하도록 설정했다.

다시 보려면 아래 링크 확인!

https://1gold.tistory.com/83

 

 

이제 젠킨스 구성에 아래 스크립트를 쓰고 저장하자.

export BUILD_ID=dontKillMe
JENKINS_HOME=/var/lib/jenkins
PROJECT_HOME=/home/ec2-user/app/step1/freelec-springboot2-webservice

cd $PROJECT_HOME

sudo cp -rf $JENKINS_HOME/workspace/jenkins001/. ./

./deploy.sh

export BUILD_ID=dontKillMe

    프로세스가 자동으로 종료되는 현상을 막아준다고 어느 포스팅에서 봤기때문에 넣어준 코드

JENKINS_HOME=/var/lib/jenkins
PROJECT_HOME=/home/ec2-user/app/step1/freelec-springboot2-webservice

    젠킨스와 프로젝트 경로를 변수에 저장

cd $PROJECT_HOME

    프로젝트 경로 이동

sudo cp -rf $JENKINS_HOME/workspace/jenkins001/. ./

    현재 경로에 젠킨스홈의 아이템(jenkins001)에 존재하는 폴더 및 파일들 전체를 복사

./deploy.sh

    deploy.sh 파일 실행

 

자 그럼 deploy.sh 파일을 까보자.

 

아 설정 만지다가 인스턴스 접속 못한다... 망했;;;;

보니까 /home 아래 즉, 유저홈은 권한을 막 주면 안되는데 줘서 그렇다;;

  • 예를 들어, Linux 홈 디렉터리(/home)는 (0755/drwxr-xr-x)여야 합니다.
  • 사용자의 홈 디렉터리(/home/ec2-user/)는 (0700/drwx------)여야 합니다.
  • .ssh 디렉터리 권한(/home/ec2-user/.ssh)은 (0700/drwx------)여야 합니다.
  • authorized_keys 파일 권한(/home/ec2-user/.ssh/authorized_keys)은 (0600/-rw-------)여야 합니다.

https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-server-refused-our-key/

 

인스턴스를 두 번이나 다시 만들었다... 난 값싼 티어를 쓰는지라 복구가 안된다... -0-;;;

 

'Jenkins' 카테고리의 다른 글

JENKINS 다른 계정 홈디렉토리  (0) 2022.05.11
Jenkins - Plugin : Post build task  (0) 2022.05.07
Jenkins item 생성 & Build  (0) 2022.05.04
Jenkins Global Tool Configuration  (0) 2022.05.04
CentOS7 Jenkins  (0) 2022.05.02

이 글을 공유하기

댓글

Designed by JB FACTORY