젠킨스를 설명해보다.

Junyeong·2022년 5월 19일
2

설명해보다

목록 보기
1/7

📃 CI / CD


  • CI: Continuous Integration의 약자로, 지속적인 통합을 의미.
  • CD: Continuous Deployment의 약자로, 지속적인 배포를 의미.

우리는 개발의 협업 과정에서 계속해서 코드를 통합하고 배포하는 과정을 반복한다.
이 과정을 자동화하기 위한 개념으로써 CI와 CD가 등장.

그리고 이 개념의 실체가 되어주는 것이 자동화 서버인 Jenkins이다.

이 외에도 TravisCI와 AWS의 Pipeline 등 다른 도구를 사용할 수 있으나 Jenkins가 가장 대표적이다.

📜 Jenkins


다섯가지의 핵심 키워드로 젠킨스를 요약할 수 있다!

  • Build
  • Test
  • Deployment
  • plugin
  • Pipeline

🔨Bulid

  • 빌드 자동화: 젠킨스가 빌드를 성공한 뒤, 실행파일을 만들어준다.

⛏️Test

  • 테스트 자동화: 테스트 코드를 작성했다면 테스트 또한 자동으로 진행 가능!

⚒️Deployment

  • 배포 자동화: 빌드 단계에서 만들어진 실행파일을 배포할 수 있다!

    만약 파이프라인을 안한다면 빌드까지만 젠킨스의 도움을 받고, 다른 툴 또는 방법으로 배포를 진행할 수도 있다.

🛠️Plugin

  • 젠킨스는 오픈소스이고, 플러그인이 1,000가지 이상 존재한다.

  • 자주 쓰이는 것은 소수이고 예시로 Credentials Plugin을 들 수 있다.

  • Credentials Plugin
    빌드부터 배포까지 자동화 하려면 당연하게도 git repo부터 시작해서 접근 등 권한이 필요한 일이 많다.
    각종 token 등 권한 관련 중요한 정보들을 저장하는데 도움을 주는 플러그인이다.


    보통 이렇게 설치하면서 필요한 플러그인 선택할 수 있게 해준다.
    위에서 말한 Credentials 같은 경우는, 당연히 필요한거라 기본 설치(제안목록)에 들어있어서 별도로 선택하진 않는다.

이 외에도 ssh 관련 이라던지, 본인이 필요하다고 느껴지는 모든 플러그인들을 찾아보고 추가해주면 된다.

🔧Pipeline

젠킨스에게 이렇게 빌드하고 저렇게 배포해줘 라는 일종의 작업 명세서를 말한다.

즉, 이렇게 스크립트를 통해 원하는 순서대로 파이프라인을 구축할 수 있는 것이다.
스크립트 작성 또한 여러 방법이 있는데, 현재 우리 회사는 선언형으로 작성되어 있다.

stages {
	stage('Build') ...
}

이런식으로 빌드 단계에서는 어떤걸 할거다~라고 알려줄 수 있다.

젠킨스 파이프라인 과정중에 실패했다면, 어느 지점에서 실패 했는지 확인할 수 있다.

🎢 Jenkins Work Flow


  1. 깃에서 소스코드를 가져온다.
  2. 젠킨스가 서버에서 빌드 및 테스트를 진행한다.
  3. 실행가능한 파일 (jar) 을 만든다.
  4. 파일을 운영서버로 던진다.
  5. 스크립트를 실행시킨다!

📑 Jenkins 실제 사용법 (아예 버튼을 뭘 클릭해야할지 모르는 사람들을 위해)

  1. 개발 작업을 merge 하고 push 하여 마무리
  2. Jenkins 접속 -> 로그인
  3. Job List 중에서 push 했던 작업 찾고 클릭
  4. 좌측 카테고리에서 Build Now 클릭
  5. 파이프라인 경과를 지켜본다.
  6. 실패했다면 로그 확인
  7. 성공했어도 좌측 하단의 Build #919 (2022...) 클릭
  8. 변경사항 및 로그 확인

📒 한 줄 기타사항

젠킨스는 서버 ip에 8080 포트를 디폴트로 접속할 수 있다.

윈도우/맥/리눅스 등 모두 사용가능하고, 서비스를 돌릴 서버에서 다운받아 사용하면 된다.

클라우드 서비스를 사용한다면, AWS에 EC2 등의 컨테이너에서 돌릴 수 있다. (AWS에서 자체적으로 제공하는 Pipeline도 있음)

profile
좋아하는 것을 계속 좋아하자.

0개의 댓글