ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Jenkins Docker EC2를 활용한 React - Springboot CI/CD(4)
    CI,CD 및 배포 2024. 3. 10. 14:01

    github연동을 위한 github ssh 설정

    1. 로컬에서 jenkins컨테이너에 진입한다.

    docker exec -it jenkins /bin/bash
    

     

    더보기
    • it 옵션은 대화형(interactive) 쉘 세션을 열고 터미널(tty)을 할당합니다.
    • **jenkins**는 컨테이너 이름입니다.
    • **/bin/bash**는 실행할 명령으로, 이 경우 컨테이너 내에서 Bash 쉘을 실행합니다.

    따라서 위 명령어를 실행하면 Jenkins 컨테이너 내에서 Bash 쉘 세션이 열립니다. 이를 통해 컨테이너 내부에서 작업을 수행하거나 설정을 확인할 수 있습니다.

    이 명령어는 실행 중인 Jenkins 컨테이너에 대한 대화형 쉘 세션을 열기 위한 것입니다.

    docker exec 명령어는 실행 중인 컨테이너 내에서 특정 명령을 실행하는 데 사용됩니다.

    여기서:

    • it 옵션은 대화형(interactive) 쉘 세션을 열고 터미널(tty)을 할당합니다.
    • **jenkins**는 컨테이너 이름입니다.
    • **/bin/bash**는 실행할 명령으로, 이 경우 컨테이너 내에서 Bash 쉘을 실행합니다.

    따라서 위 명령어를 실행하면 Jenkins 컨테이너 내에서 Bash 쉘 세션이 열립니다. 이를 통해 컨테이너 내부에서 작업을 수행하거나 설정을 확인할 수 있습니다.

     

    2. Github Deploy Key 등록

    • GitHub에서 새로운 배포 키 생성:
    • GitHub 리포지토리에 들어가서 Settings로 이동합니다.
    • 좌측 메뉴에서 Deploy keys를 선택합니다.
    • Add deploy key를 클릭하여 새로운 배포 키를 생성합니다. 이때, Jenkins 서버의 SSH 공개 키를 등록합니다.

     

     

    3. Jenkins에서 Credential 등록

    • jenkins 대시보드 > Jenkins 관리 > Manage Credentials > Credentials에 접속한다.
    • Store Jenkins에 Domain이 (global)인 화살표를 눌러 Global credentials (unrestricted)로 이동한다.

    왼쪽 메뉴의 Add credentials를 눌러 credentials를 추가한다.

    • KindSSH Username with private key
    • ID : github -> 마음대로 지어도 된다. 다만 Pipeline Script 작성 시 credentialsId로 사용되니 식별할 수 있도록 하자.
    • Username : root (default) (적지않으면 root로 기본 설정)

     

    더보기

    jenkins와 Github를 이용하여 빌드 환경 구성 중 Github에 키 값을 추가하였는데도 위와 같은 에러가 발생했다.문제 원인은 known_hosts에 등록되지 않았던 것이었다.

    에러 로그 : No ECDSA host key is known for github.com and you have requested strict checking.
    Host key verification failed.
    

    다음 명령어를 젠킨스 컨테이너에 진입하여 실행하면 에러를 사에 방지할 수 있다.

    docker exec -it jenkins /bin/bash
    git ls-remote -h git@github.com:liveinsoha/backend3.git HEAD
    
    

     

     

Designed by Tistory.