HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
[New] 아만드팀
[New] 아만드팀
/
🌟
팀프로젝트
/
🥟
멘토님 리뷰
/
🥟
아만두의 CI 특강
🥟

아만두의 CI 특강

Tags
CI특강
Date
Jul 2, 2022
참석자
전체적인 플로우 젠킨스, 깃허브 훅 연결 빌드 스크립트
 

전체적인 플로우

notion image
  • git 에서 git hook을 통해 jenkins로 쏘기
  • jenkins에서 스크립트로 빌드하고 다른 서버로 쏘는 것
    • 시간이 없으니 하나의 서버에서 빌드하고 실행하는 것으로 진행
  • ssm 같은 걸로 환경변수를 관리를 많이 한다.
 

젠킨스, 깃허브 훅 연결

  • 젠킨스 주소 : http://54.180.129.133:9090/
  • 이름 : amabnb
  • 비번 : 동일
  • 현재는 main 브랜치 푸쉬 시 빌드되도록 설정
 

빌드 스크립트

  1. application-security.yaml
    1. sudo cp -u /home/ec2-user/application-security.yaml /var/lib/jenkins/workspace/amabnb/src/main/resources
      • application-security.yaml 파일은 민감한 정보가 많기 때문에 github에 올리지 않고 따로 서버에 업로드하여 빌드하기 전에 넣는 식으로 진행
      • -u 옵션으로 변경시에만 복사되도록 진행
      • 서버에 파일 업로드 하는 법
        • scp -i amand-key-2.pem application-security.yaml ec2-user@ec2-54-180-129-133.ap-northeast-2.compute.amazonaws.com:/home/ec2-user
 
  1. 빌드 이후 실행
    1. if [ $(sudo lsof -t -i:8080) != "" ]; then echo "now running application" CURRENT_PID=$(sudo lsof -t -i:8080) sudo kill -15 $CURRENT_PID else echo "no running application" fi BUILD_ID=amabnb nohup java -jar /var/lib/jenkins/workspace/amabnb/build/libs/amabnb-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod 1>/dev/null 2>&1 &
      • 8080포트로 실행중인 애플리케이션이 있다면 종료하고 실행하도록 설정
      • nohup 옵션으로 백그라운드로 실행
      • jenkins에서 모든 Job이 완료되면 프로세스를 종료시키는 데 이때 BUILD_ID를 지정해주지 않으면 애플리케이션도 같이 종료되기 때문에 다음과 같이 설정해주었습니다.