CI/CD

웰시고기·2021년 2월 26일
0

CI/CD

  • Continuous Integration(CI) : 프로젝트에서 변경된 코드를 정기적으로 빌드, 테스트, Git에 Merge하는 것
  • Continuous Delivery(CD) : Merge된 Git의 코드를 자동으로 개발환경에 배포하는 것

Jenkins

  • Java로 쓰인 오픈소스 자동화 서버이다.
  • 빌드, 테스트, 배치 등의 기능을 제공한다.
  • 위의 그림과 같이 배포를 위해 pipeline을 구성해야 한다.
    - pipeline을 구성하는 방법
    1. Jenkinsfile을 사용하기
    2. http://localhot:8080를 통한 Jenkins Console

Jenkins에 활용하기

  1. Jenkins 서버내에서 키를 생성
# Since our project is a Maven project, we need to install Maven in the container
apk add maven
# Generate RSA key-pair. It will generate a public and private key. 
# We will place the public key in the Github account, and the private key in the Jenkins console
ssh-keygen -t rsa
# View the private key
cat /root/.ssh/id_rsa
# View the pubic key 
cat /root/.ssh/id_rsa.pub
  1. Manage Jenkins - Manage Credential - (global) - key에 private key 추가

  2. Github Repository에 public key 추가
  3. Manage Jenkins - Manage Plugins에서 Available에서 Jenkins plugin 설치
    Deploy to container과 Maven Integration를 설치
  4. Manage Jenkins - Global Tool Configuration에서 JDK, MAVEN 설정
  5. 아이템을 구성하고 배포할 서버 설정
  6. 빌드

0개의 댓글