본문 바로가기
  • [성공하는 개발자] - Developer
Server/AWS

[AWS] Jenkins 원격 서버 배포(Publish Over SSH)

by Sein-JH 2023. 3. 27.
728x90

✔️ 배포할 서버가 여러대로 늘어나여, 젠킨스 서버와 배포 서버가 분리되어야 한다면, 각각 서버마다 jenkins를 설치해야할까?

  • 아니다. 한개의 젠킨스 서버 빌드하여 모든 다른 서버에 SSH방식으로 파일 전송, 빌드 스크립트를 유발하여 관리가 가능하다.

📚 1. Publish Over SSH 플러그인 검색 및 설치

 

Jenkins 관리 -> 플러그인 관리

 

 

 

 

📚 2. Publish Over SSH 플러그인 설정

  • Jenkins 관리 -> 시스템 설정

✔️ Publish over SSH 탭으로 이동하여 관련 내용 설정

 

- Key : ec2를 생성할 때 받은 ssh 접속 키인 pem 파일내용을 복사하여 붙여 넣으면 된다.

 

 

✔️ SSH Servers

  • Name : 사용할 임의의 SSH Servers의 Name을 입력하면 된다.
  • Hostname : 실제로 접속할 원격 서버 ip, 접속 경로를 입력
  • Username : 접속할 원격 서버의 user 이름
  • Remote Directory : 원격 서버에 접속하여 작업을 하게 되는 디렉토리

 

📚 3. Project 생성 및 설정

 

✔️ 프로잭트 생성 > 구성

 

✔️ 소스 코드 관리 : Node

 

✔️ 빌드 환경 : Send files or execute commands over SSH after the build runs

     SSH 생성한 Name 선택

 

✔️ 지금 빌드


✔️[오류] jenkins.plugins.publish_over.BapPublisherException: SSH 연결 메시지 연결 및 초기화 실패 [Auth fail]

 

제 경우에는 다음 단계에 따라 문제가 해결되었습니다.
솔루션은 Ubuntu 22.04를 기반으로
두 줄 추가/etc/ssh/sshd_config

PubkeyAuthentication yes
PubkeyAcceptedKeyTypes +ssh-rsa

sshd 서비스 다시 시작

sudo service sshd restart

댓글