Skip to content
김무성 edited this page Dec 2, 2021 · 1 revision
  • Jenkins 사용하다 실패

    https://www.dongyeon1201.kr/9026133b-31be-4b58-bcc7-49abbe893044

    Jenkins 서버 docker로 실행

    version: '3'
    
    services:
        jenkins:
            image: jenkins/jenkins:lts
            container_name: jenkins_cicd
            volumes:
                - /var/run/docker.sock:/var/run/docker.sock
                - /jenkins:/var/jenkins_home
            ports:
                - "8080:8080"
            privileged: true
            user: root
    • docker-compose up -d로 jenkins 띄우기

    • 이후 [공인 IP]:8080 으로 접속하면 jenkins를 설정할 수 있다.

    • jenkins pw는 docker-compose logs 명령어로 확인

    GitHub + Jenkins

    • Jenkins ssh key 설정

      • docker exec -it [컨테이너 이름] /bin/bash 로 젠킨스 컨테이너의 쉘에 접속
      • ssh 키 조합 생성
      # .ssh 위치에 키 저장
      mkdir /var/jenkins_home/.ssh
      cd ./.ssh
      
      # ssh 키 생성
      ssh-keygen -t rsa -f /var/jenkins_home/.ssh/jenkins_ci
      • 다 엔터눌러서 생성하면 된다.
      • 그러면 공개키(.pub)과 개인키가 생성되는데 cat 명령어로 내용을 확인할 수 있다.
      • 개인키를 젠킨스에, 공개키를 Github에 등록해야한다.
    • 젠킨스에 개인키 등록

      • Cat 명령어로 개인키 확인 후 복사
      • 젠킨스 페이지에서 [Jenkins 관리] → [Manage Credentials] → globaladd credentials 버튼을 누른다.
      • Kind 옵션에서 SSH Username with private key 설정 → Username 입력 → Private Key 옵션의 Enter directly 클릭 → 아까 cat 명령어로 확인했던 개인키 붙여넣기
    • 공개키 Github에 등록

      • Cat 명령어로 공개키 확인 후 복사
      • 깃허브 레포지토리의 Setting에서 Deploy keys에 등록한다.
    • Github Webhook 설정

      • PR후 merge 작업 시, Jenkins에 알림이 가도록 설정
      • 기본적으로 Jenkins에 github plugin이 설치되어 있어서 Github에서만 설정해주면 된다.
      • Setting의 Webhooks의 Add webhhok을 클릭해 설정한다.
      • URL에 [Jenkins IP:8080]/github-webhook을 입력 후 다른 옵션은 건들지 말고 add해준다.
    • 깃허브와 연결되었으니 이제 빌드를 위한 Jenkins Job 설정

      • Jenkins 메인 페이지에서 [새로운 Item] → [Freestyle project](이름은 아무거나, 난 jenkins_cicd로 함)
      • 소스 코드 관리
        • Git을 선택 후 git 레포지토리의 ssh URL을 복사해서 넣어주고 Credentials 엔 아까 등록한 키를 선택한다.
        • branch에는 우리는 개발 환경은 develop, 운영 환경은 main이므로 각 서버에 맞게 설정한다.
      • 빌드 관련 설정
        • 빌드 유발
          • Github hook trigger for GITScm polling 선택
        • Build
          • Execute shell 을 선택하고 빌드 & 테스트를 위한 코드 작성

GitHub Action 사용

🍇 Home

Home

✨ Info

About Us

🤙 Team Rules

Ground Rule

GitHub 전략

🗓 Planning

프로젝트 설계

API 명세

ERD

백로그

와이어 프레임

📜 Project

기술 스택

자료실

고민거리

🔥 Progress

1️⃣ 1주차 Progress
2️⃣ 2주차 Progress
3️⃣ 3주차 Progress
4️⃣ 4주차 Progress
5️⃣ 5주차 Progress
6️⃣ 6주차 Progress

⏳ Meetings

0️⃣ 0주차 Meetings
1️⃣ 1주차 Meetings
2️⃣ 2주차 Meetings
3️⃣ 3주차 Meetings
4️⃣ 4주차 Meetings
5️⃣ 5주차 Meetings
6️⃣ 6주차 Meetings
Clone this wiki locally