본문 바로가기

AWS

AWS EC2에 CI/CD 파이프라인을 위한 젠킨스 구축하기(2) - 도커 설치 및 원격배포

이전 글에서는 ec2 인스턴스에 젠킨스를 설치했습니다. 저는 이제 이 젠킨스 서버에서 요청을 통해 원격(Remote)으로 서버를 배포하도록 구성하겠습니다.

먼저 젠킨스를 설치한 인스턴스에 몇가지 추가적인 작업을 해주겠습니다.

github와 젠킨스를 연동하기 위해 서버에 git과 docker를 설치합니다.

sudo yum install git -y
sudo yum install docker -y

1번 라인을 통해 도커를 실행하고 2번 라인 명령어를 입력해 docker 프로세스가 실행 중인지 확인할 수 있습니다.

1. sudo systemctl start docker
2. ps -ef | grep docker

도커 실행 확인

여기까지 완료되었다면 새로운 ec2 인스턴스를 생성하고 위의 명령어와 같이 도커를 설치해줍니다.

이제부터는 젠킨스를 설치한 인스턴스를 젠킨스 서버로, 새로 생성한 인스턴스를 ecommerce 서버라고 명칭 하겠습니다.

젠킨스 서버에서 우선 아래와 같은 명령어를 통해 ssh key를 생성합니다. rsa 암호화 방식을 통해 public key와 private kye를 생성하는 명령어입니다.

ssh-keygen -t rsa

위와 같이 생성된 것을 확인할 수 있고, 기본적으로 계정을 따로 변경하지 않았다면 ec2-user로 되어 있을 겁니다.

cd ~/.ssh

위 명령어를 통해 /home/ec2-user/. ssh 디렉터리로 이동하고 

ls -trl

명령어를 실행하면 아래와 같이 id_rsa, id_rsa.pub를 볼 수 있습니다.

id_rsa는 프라이빗 키고, id_rsa.pub는 퍼블릭 키입니다. 아래 명령어를 통해 퍼블릭 키를 확인하고 복사합니다.

cat id_rsa.pub

ecommerce 인스턴스로 이동한 후에 동일한 디렉터리로 이동합니다.

vi authorized_keys

위의 파일을 vi 명령어를 통해 편집기를 열고 맨 아래에 위에 복사한 퍼블릭 키를 붙여놓고 저장합니다.(o -> 복사 -> wq)

이제 젠킨스 서버에서 ssh를 통해 이커머스 서버로 접속할 수 있습니다.

젠킨스 서버의 젠킨스로 접속하여 플러그인 관리를 선택하고 아래와 같은 플러그인을 설치해주세요.

그다음에 다시 젠킨스 관리 -> 시스템 설정 목록으로 들어갑니다.

Key에 id_rsa를 그대로 복사하고 붙여 넣기 합니다. 그리고 ssh servers를 추가합니다.

name에는 아무 이름이나 넣으셔도 되고, hostname에 ec2의 프라이빗 IPv4 주소를 입력하시고 username에는 ec2-user를 입력합니다.

이후에 Test Configuration을 입력하면 Success를 확인하면 됩니다.

 

출처 : tacademy.skplanet.com/live/player/onlineLectureDetail.action?seq=190

 

Jenkins를 활용한 CI/CD | T아카데미 온라인강의

Jenkins 개발환경 및 CI/CD 기본 동작를 이해하고, AWS 환경에서 Jenkins를 활용한 CI/CD 파이프라인 설계 방법에 대해 알아봅니다.

tacademy.skplanet.com

jojoldu.tistory.com/544

 

EC2 (Amazon Linux 2) 에 Jenkins 설치하기

기존에 작성된 EC2 (Amazon Linux 1) 에 Jenkins 설치하기 이 있지만, 현재 AWS에서 Amazon Linux2가 메인 이미지가 되었기에 해당 버전으로 설치하는 법을 진행하겠습니다. 아시다시피 Amazon Linux 2는 CentOS 7..

jojoldu.tistory.com