안녕하세요 일루넥스 QA담당 강지현입니다.
일루넥스에서는 AWS와 젠킨스를 사용하여 빌드 시스템이 이루어져있는데요,
이번 글에서는 AWS EC2 인스턴스에 젠킨스를 설치하여 깃과 연동한 후
웹서버 자동배포 환경을 구축하는 방법을 소개하도록 하겠습니다.
일단 EC2 인스턴스 생성까지 마친 상태로 가정하고 시작해보겠습니다.
$ 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 )
$ sudo yum -y update
※ 혹시 7버전이 깔려있는 경우라면 7버전 삭제 후 8버전을 설치해주시기 바랍니다.
$ sudo yum install java-1.8.0
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
$ sudo yum install jenkins
$ sudo systemctl service jenkins start
$ sudo yum install git
이제 http://${your ec2 public-dns}:8080 로 들어가면 해당 화면이 나타날 것입니다.
초기 접속 비밀번호가 저 경로에 있다는 뜻이기 때문에 경로를 복사하여 비밀번호가 나오면 해당 비밀번호를 입력해줍니다.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
→ [Test connection] 클릭 시 정상 연동을 확인할 수 있습니다.
여기까지 AWS EC2 인스턴스에 Jenkins를 설치하고 환경을 구축하는 방법을 알아보았습니다.
저는 EC2 인스턴스에 MariaDB를 설치 후 젠킨스를 설치하였고,
추후 Docker를 설치하여 nginx로 웹서버를 구축한 뒤 빌드 환경을 만들어나갈 예정인데요,
도커를 활용한 방법도 구축해보시면 좋을 것 같습니다.
읽어주셔서 감사합니다.