Jenkins CD
- Jenkins
- 2022. 5. 17. 21:33
Jenkins CD(Code Deploy)
마지막 단계다. 전전포스팅에서 빌드가 끝나면 스크립트를 실행할 수 있도록 Plugin을 설치했다.
다시 보려면 아래 링크 확인!
그리고 전포스팅에서 jenkins유저가 ec2-user유저의 홈디렉토리에 접근 가능하도록 설정했다.
다시 보려면 아래 링크 확인!
이제 젠킨스 구성에 아래 스크립트를 쓰고 저장하자.
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 |
이 글을 공유하기