Jenkins란
Jenkins는 소프트웨어 구축, 테스트, 전달 및 배포와 관련된 모든 종류의 작업을 자동화하는 데 사용할 수 있는 오픈 소스 자동화 서버이다.
서비스를 개발하는 과정에서 개발자들이 코드 작성 외에 Test, Build, Deploy 등의 번거로운 과정을 직접 하지 않고,
Pipeline 구축을 통해 자동화하여 처리할 수 있는 CI/CD 도구라고 할 수 있다.
Jenkins는 여러 장점이 있지만 대표적으로 아래와 같다.
- 무료
- 다양한 플러그인 지원
- 많은 사용자를 보유(레퍼런스 많음)
Jenkins 이외에도 Travis, GitLabCI 등의 다양한 CI 도구가 있으니 본인의 환경에 맞춰 적절하게 사용하면 될 것 같다.
설치 방법
- JAVA 설치
- Jenkins 설치
(원활한 실습 진행을 위해 root 사용자로 모든 작업을 진행했음.)
JAVA 설치
jenkins docs를 보면 Java 8 or Java 11 are required for running modern versions of Jenkins. 라고 되어 있다.
OpenJDK/JRE 8, 11도 지원하며, 이외 다른 모든 Java 버전은 지원되지 않는다고 한다.
(Jenkins 최신 버전은 Java 17도 지원한다고 함)
Java 버전을 선택하여 사용할 수 있으니, 1.8과 17 모두 설치해보자.
설치 경로는 아래와 같다.
JAVA 1.8 : https://docs.aws.amazon.com/ko_kr/corretto/latest/corretto-8-ug/amazon-linux-install.html
sudo yum -y update
sudo amazon-linux-extras enable corretto8
sudo yum install java-1.8.0-amazon-corretto-devel
[root@ip-10-0-1-57 ~]# java -version
openjdk version "1.8.0_332"
JAVA 17 : https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/amazon-linux-install.html
sudo yum install java-17-amazon-corretto-devel
[root@ip-10-0-1-57 ~]# java -version
openjdk version "17.0.3" 2022-04-19 LTS
alternatives 명령어를 통해 java version을 선택하여 사용할 수 있다.
[root@ip-10-0-1-57 ~]# alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
1 /usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64/jre/bin/java
*+ 2 /usr/lib/jvm/java-17-amazon-corretto.x86_64/bin/java
Enter to keep the current selection[+], or type selection number:
Jenkins 설치
이제 Jenkins를 설치해보자
설치 경로는 아래와 같다.
https://www.jenkins.io/doc/tutorials/tutorial-for-installing-jenkinson-AWS/
먼저 패키지 업데이트 작업을 진행한다.
[root@ip-10-0-1-57 ~]# sudo yum -y update
Jenkins repository를 추가한다.
[root@ip-10-0-1-57 ~]# sudo wget -O /etc/yum.repos.d/jenkins.repo \
> https://pkg.jenkins.io/redhat-stable/jenkins.repo
Jenkins의 public key를 import 해준다.
[root@ip-10-0-1-57 ~]# sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
[root@ip-10-0-1-57 ~]# sudo yum upgrade
jenkins를 설치한다.
[root@ip-10-0-1-57 ~]# sudo yum install jenkins -y
이제 설치 작업이 완료되었다.
service 상태를 확인하고 start 시켜주자.
[root@ip-10-0-1-57 ~]# systemctl status jenkins
● jenkins.service - Jenkins Continuous Integration Server
Loaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[root@ip-10-0-1-57 ~]# sudo systemctl enable jenkins
Created symlink from /etc/systemd/system/multi-user.target.wants/jenkins.service to /usr/lib/systemd/system/jenkins.service.
[root@ip-10-0-1-57 ~]# sudo systemctl start jenkins
이렇게 active로 표시되면 서비스가 정상적으로 구동중인 것이다.
이제 Jenkins 웹 콘솔에 접속해보자.
브라우저에서 EC2의 Public IP:8080 형태로 입력하면 된다.
Administrator password는 /var/lib/jenkins/secrets/initialAdminPassword 파일을 확인하면 된다.
[root@ip-10-0-1-57 secrets]# cat /var/lib/jenkins/secrets/initialAdminPassword
40371389a9464b9eb8215ae81ed227c8
Jenkins에서 지원하는 plug-in을 설치하는 과정이며, 실습 진행을 위해 [Install suggested plugins] 옵션을 선택한다.
선택하면 아래와 같이 많이 사용되고 있는 plug-in 설치 과정을 볼 수 있다.
이제 Admin 계정을 생성하면 구축이 완료된다.
현재 URL은 EC2 인스턴스의 Public IP로 설정되어 있으며, [Save and Finish]를 눌러준다.
이것으로 Jenkins에 대한 설치 과정이 완료되었다.
'AWS' 카테고리의 다른 글
Session Manager를 통해 EC2 인스턴스 접속하기(feat. CentOS) (0) | 2022.09.14 |
---|---|
Openswan을 활용한 AWS Site-to-Site VPN 구성하기 (0) | 2022.08.02 |
EC2에 harbor 설치하기 (0) | 2022.05.02 |
EC2에 MySQL 설치하기 (0) | 2021.12.13 |
리전 별 가용영역 (0) | 2021.12.02 |