안녕하세요. 그린주입니다 ๑'ٮ'๑
오늘도 힘차게 시작해보겠습니다!
개요
이번 글에서는 AWS EC2(Amazon Linux 2)에 Jenkins 설치하는 방법을 공유하고자 합니다.
참고로 JAVA가 설치되어있고 Jenkins 인바운드 규칙 접속 설정이 되어있다는 가정하에 시작하겠습니다.
목차
Jenkins 설치
사용자 계정 권한 변경
기본 포트 변경
Jenkins 접속
Jenkins 설치
Amazon Linux 2에서는 Jenkins설치에 필요한 Java 설치가 되어있지 않습니다. Java가 설치되어있는지 확인 후 설치를 진행하시기 바랍니다. Amazon Linux 2 Java 8 설치 방법
1. 버전 확인
현재 자신의 서버가 Amazon Linux2가 맞는지 확인합니다.
$ cat /etc/⁕release
2. yum 최신화
$ sudo yum -y update
3. yum 저장소 등록
먼저 wget으로 Jenkins 저장소를 yum 저장소에 다운로드합니다.
$ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
정상적으로 import 합니다.
$ sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
4. Jenkins 설치
이제 패키지가 수동으로 저장소에 등록되었으니 yum install을 진행합니다.
$ sudo yum install jenkins
설치 후 아래와 같이 설치된 젠킨스 정보를 확인할 수 있습니다.
버전에 따라 아래 (선택) 설정 파일이 다르기 때문에 나중에 설정을 바꿔야 할 때 기억해둡니다.
5. Jenkins 실행
설치가 끝났다면 아래 명령어로 부팅 시 Jenkins 서비스를 활성화합니다.
$ sudo systemctl enable jenkins
Jenkins 서비스를 실행합니다.
$ sudo systemctl start jenkins
정상적으로 Jenkins가 실행되었는지는 아래 명령어로 확인합니다.
$ sudo systemctl status jenkins
사용자 계정 권한 변경(선택)_220713 설정 파일 수정
아래 명령어로 Jenkins 설정 파일을 열어줍니다.
Jenkins 2.335 이상 및 2.332.1 LTS 이상을 실행하는 사용자는 이 마이그레이션의 영향을 받습니다. 설정 파일 위치가 변경되었습니다. 기본 서비스 단위는 읽기 전용이며 수동으로 편집할 수 없습니다.
Jenkins 2.335 및 2.332.1 LTS 이전 버전
$ sudo vi /etc/sysconfig/jenkins
Jenkins 2.335 및 Jenkins 2.332.1 이상 버전
$ sudo vi /usr/lib/systemd/system/jenkins.service
JENKINS_USER를 찾아(/JENKINS_USER) 원하는 계정으로 수정합니다. 저는 ec2-user로 수정했습니다.
설정 후 변경사항을 반영하기 위해 데몬 재시작과 서비스를 재시작해줍니다.
$ sudo systemctl daemon-reload
$ sudo systemctl restart jenkins
기본 포트 변경(선택)
Jenkins의 기본 포트는 8080입니다.
변경은 자유입니다. 포트가 겹친다거나 다른 포트로 설정해야 할 경우 변경하시면 됩니다.
아래 명령어로 Jenkins 설정 파일을 열어줍니다.
Jenkins 2.335 이상 및 2.332.1 LTS 이상을 실행하는 사용자는 이 마이그레이션의 영향을 받습니다. 설정 파일 위치가 변경되었습니다. 기본 서비스 단위는 읽기 전용이며 수동으로 편집할 수 없습니다.
Jenkins 2.335 및 2.332.1 LTS 이전 버전
$ sudo vi /etc/sysconfig/jenkins
Jenkins 2.335 및 Jenkins 2.332.1 이상 버전
$ sudo vi /usr/lib/systemd/system/jenkins.service
JENKINS_PORT를 찾아(/JENKINS_PORT) 원하는 포트로 수정합니다. 저는 8081로 수정했습니다.
설정 후 변경사항을 반영하기 위해 데몬 재시작과 서비스를 재시작해줍니다.
$ sudo systemctl daemon-reload
$ sudo systemctl restart jenkins
8081 포트로 실행되고 있는지 확인해보겠습니다. 아래와 같이 httpPort가 8081로 변경된 것을 확인할 수 있습니다.
8081 포트로 접속이 되는지 확인해보겠습니다.
Jenkins 접속
퍼블릭 IPv4:[설정한 포트 or 기본 포트 8080]으로 접속을 합니다. 정상적으로 접속되는 것을 볼 수 있습니다.
사이트에 연결할 수 없음이 나올 경우 인바운드 규칙 설정이 되어있는지 확인 부탁드립니다.
초기 비밀번호를 Administrator password에 붙여 넣기 합니다. 비밀번호 조회 명령어는 아래와 같습니다.
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Install suggested plugins를 클릭하여 jenkins가 추천하는 플러그인들을 설치합니다.
첫 로그인을 진행할 계정도 하나 생성합니다. admin 유저를 만들어 줍니다.
URL 설정 페이지는 이후에 수정이 가능하니 수정 작업 없이 다음으로 넘어갑니다. 아래와 같은 화면이 나오면, Jenkins 설치 및 초기 세팅이 마무리되었습니다.
설치가 다 되셨다면 이후에 플러그인을 추가로 설치해 gitLab으로 교체하거나 머티리얼 테마로 변경하는 등 본인만의 Jenkins로 꾸미시면 됩니다.
마무리
이렇게 AWS EC2(Amazon Linux 2)에 Jenkins 설치하는 방법에 대해 적어보았습니다.
다들 성공하셨을까요?? 끝까지 파이팅입니다!
Jenkins는 스크립트나 Docker로 쉽게 설치할 수도 있지만 본인이 수동으로 한번 설치를 해보는 것을 추천드립니다. 그러면 나중에 설정을 변경해야 하거나 업데이트할 때 좀 더 쉽게 해결할 수 있기 때문입니다.
긴 글 봐주셔서 감사합니다!
오늘도 행복한 하루 보내세요 ✿'◡'✿
참고
https://jojoldu.tistory.com/354
https://server-engineer.tistory.com/766
https://velog.io/@yundleyundle/AWS-EC2에-Jenkins-설치하기
https://dev-elop.tistory.com/entry/linux-jenkins-install
'🌜 Server > Jenkins' 카테고리의 다른 글
sudo: no tty present and no askpass program specified ( Jenkins / Linux ) (0) | 2022.07.18 |
---|---|
Jenkins를 Batch Scheduler로 활용하기 (Jenkins / Build periodically / Schedule / Spring Batch) (0) | 2021.12.08 |