본문 바로가기
AWS

[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 10일차

by 원동호 2021. 9. 15.

Ch 05. Jenkins

  • 05. Jenkins 배포 및 파이프라인 #3
  • 06. Jenkins 배포 및 파이프라인 #3 실습

 

배포를 위한 플러그인 설치

설치 가능 탭을 클릭하면 설치 가능한 플러그인 목록을 확인할 수 있다.

Publish Over SSH를 입력한 후 목록에서 체크버튼을 클릭하고 Install without Restart 버튼을 클릭한다.

설치 중임을 알 수 있다.

시스템 설정

 

SSH 설정

시스템 설정 항목의 맨 아래에 위치한다.

좀전에 Publish Over SSH 플러그인을 설치해서 항목이 추가 된것이다.

아래 정보를 세팅하기 위해서 ssh key 값을 생성해 주어야 한다.

 

1. SSH 키를 생성한다.

ssh key는 /var/jenkins_home/.ssh/ 디렉토리에 생성된것을 확인할 수 있다.

ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/var/jenkins_home/.ssh/id_rsa):
Created directory '/var/jenkins_home/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/jenkins_home/.ssh/id_rsa
Your public key has been saved in /var/jenkins_home/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:1gm2emKLYgBrcNZULV+dPAfLk7Qj27Im8gPCorWOt9M jenkins@2bdbd21362f5
The key's randomart image is:
+---[RSA 3072]----+
|     ...   ooo   |
|    . . . .o=+.  |
|   o   oo.. Bo   |
|o o .  ..+ = o   |
|o+ .    S = .    |
|o.o o .o   o     |
|.+ + .=.o o      |
|..* Eo *.o       |
|.+o+. . ..       |
+----[SHA256]-----+

 

2. 디렉토리 진입

id_rsa , id_rsa.pub 파일이 생성된 것을 확인할 수 있다.

cd /var/jenkins_home/.ssh/
ls

# id_rsa  id_rsa.pub

 

3. .pub 파일 확인

cat id_rsa.pub

 

4. ./ssh 디렉토리 및 ssh key 파일 권한 부여

chmod 700 /var/jenkins_home/.ssh
chmod 600 /var/jenkins_home/.ssh/id_rsa
chmod 644 /var/jenkins_home/.ssh/id_rsa.pub

 

5. Passpharse 항목과 Path to key 항목 입력

Passpharse -> 3번의 출력된 값을 입력한다.

Path to key -> id_rsa 파일 경로를 입력한다. (docker로 진행중이기 때문에 docker의 경로를 적는다.)

 

6. SSH Server 추가 버튼을 클릭한다.

Name : 관리하기 쉬운 이름으로 지정한다. tomcat으로 업로드 할것이기때문에 이름은 tomcat으로 적는다.

Hostname : aws의 Public IP를 입력한다.

Username : aws 접속 id를 입력한다.(ec2-user)

Remote Directory : tomcat의 경로를 입력한다. (/opt/tomcat)

 

 

7. Jenkins에서 AWS 로 접속하기 위한 설정

6번 칸을 모두 입력 한 후에 Use password authentication. or use a different key 항목을 체크한다.

그중 Path to key 항목에 AWS에 접속하기 위한 .pem 파일 경로를 입력해줘야 한다.

강의영상에서는 젠킨스를 로컬로 구축해서 로컬 PC 경로를 입력하면 되지만 본인은 docker위에 jenkins를 띄운거라

로컬 PC에있는 .pem 파일을 docker로 전송해야 한다.

  • 호스트 PC에서 컨테이너로 파일 전송하기
docker cp [호스트PC의 .pem 파일 경로] [컨테이너 이름]:[.pem 파일 복사할 경로]

파일이 복사 되었다면 해당 docker 경로를 Path to key에 입력한다.

그런다음 아래 Test Configuration버튼을 클릭해서 Success가 출력되면 정상적으로 작동한 것이다.

 

.war 파일을 SSH를 통해 전송

프로젝트로 진입해 구성 버튼을 클릭한다.

 

하단의 빌드 후 조치 추가 버튼을 클릭하고 Send buiild artifacts over SSH 항목을 클릭한다.

Source fiels -> **/.war를 입력한다

Remove prefix -> 실제로 배포할 파일의 경로 

Remote directory -> SSH Server 구성했을 때 /opt/tomcat 경로를 넣었기 때문에 webapps 경로만 입력하면 된다.

Exec command -> 배포 시 실행할 명령어 이다.

 

빌드

 

 

 

 

 

 

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

-> https://bit.ly/37BpXiC

 

댓글0