AWS EC2 인스턴스에 Jenkins 설치

Jee hyun. k·2021년 9월 4일
0
post-thumbnail

안녕하세요

이번 글에서는 AWS EC2 인스턴스에 젠킨스를 설치하여 깃과 연동한 후웹서버 자동배포 환경을 구축하는 방법을 소개하도록 하겠습니다.

일단 EC2 인스턴스 생성까지 마친 상태로 가정하고 시작해보겠습니다.

1. Jenkins install

1.1 먼저 EC2 인스턴스에 SSH로 접속합니다.

$ ssh -i pemfilename.pem ec2-user@{your ec2 public dns}

( 본인은 윈도우 사용자라 powershell을 이용하였습니다. )

→ ssh 명령어의 경우 파일 보안설정을 해주어야 하는데요, 그렇지 않고 해당 명령어를 입력하면 Pem 키 파일 엑세스 거부로 인해 아래와 같이 오류가 발생합니다.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Permissions for ‘***.pem’ are too open.

It is required that your private key files are NOT accessible by others.

This private key will be ignored.

Load key “****.pem”: bad permissions

ec2-user@13.125.200.93: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

※ 윈도우의 경우 power shell이나 cmd 창에서 chmod 명령어가 동작하지 않으니 pem 파일의 접근권한 설정의 경우 직접 pem파일이 들어있는 폴더의 접근 권한을 모두 없애주어야 해당 명령어가 동작합니다.

(참고 : https://www.overtop.co.kr/361 )

1.2 이제 yum 패키지를 최신 버전으로 업데이트 합니다.

$ sudo yum -y update

1.3 젠킨스의 java 버전은 8버전이므로 java 8버전을 설치해야 합니다.

※ 혹시 7버전이 깔려있는 경우라면 7버전 삭제 후 8버전을 설치해주시기 바랍니다.

$ sudo yum install java-1.8.0

1.4 yum의 젠킨스 설치 경로인 jenkins repositor를 추가해줍니다.

$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

1.5 젠킨스를 설치할 때, 파일들이 신뢰할 수 있는 소스로 부터 제공됨을 증명하기 위해 로컬 GPG 키링에 Jenkins GPG key 를 추가해줍니다.

$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

1.6 이제 젠킨스를 설치합니다.

$ sudo yum install jenkins

1.7 젠킨스를 시작합니다

$ sudo systemctl service jenkins start

1.8 젠킨스에 git 환경을 연동할 것이므로 git을 설치해줍니다.

$ sudo yum install git

2. Jenkins 환경 설정

2.1 비밀번호 입력

이제 http://${your ec2 public-dns}:8080 로 들어가면 해당 화면이 나타날 것입니다.초기 접속 비밀번호가 저 경로에 있다는 뜻이기 때문에 경로를 복사하여 비밀번호가 나오면 해당 비밀번호를 입력해줍니다.

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

2.2 [ install suggested plugins ] 을 눌러 추천 플러그인을 모두 설치합니다.

2.3 설치가 끝나면 사용자 계정을 생성하고 로그인 해줍니다.

2.4 해당 화면이 나타나면 젠킨스를 사용할 준비가 완료된 것입니다.

2.5 왼쪽 메뉴에서 [ jenkins 관리→ 플러그인 관리] 로 들어갑니다.

2.6 "Publish over SSH" 를 검색하여 ssh 파일에 접근할 수 있는 플러그인을 설치해줍니다.

2.7 다시 시스템관리 → 하단으로 이동, [ Github 관련 설정 > 원하는 Name 지정 > Add ] 를 클릭합니다.

  • Domain : Global credentials (unrestricted) 선택
  • Kind : Secret text 선택
  • Secret : 위에서 생성된 토큰 입력
  • ID : 본인 지정 식별자(ID) 입력

→ [Test connection] 클릭 시 정상 연동을 확인할 수 있습니다.

마치며

여기까지 AWS EC2 인스턴스에 Jenkins를 설치하고 환경을 구축하는 방법을 알아보았습니다.

저는 EC2 인스턴스에 MariaDB를 설치 후 젠킨스를 설치하였고,추후 Docker를 설치하여 nginx로 웹서버를 구축한 뒤 빌드 환경을 만들어나갈 예정인데요,도커를 활용한 방법도 구축해보시면 좋을 것 같습니다.

읽어주셔서 감사합니다.

profile
junior developer

0개의 댓글