JENKINS
젠킨스(Jenkins)는 오픈 소스 지속적 통합(CI) 및 지속적 배포(CD) 도구로, 소프트웨어 개발 프로세스의 빌드, 테스트, 배포 등을 자동화하고 관리할 수 있다.
젠킨스는 다양한 플러그인과 함께 여러언어와 프레임워크를 지원한다.
CI/CD
CI/CD는 지속적인 통합(Continuous Integration)과 지속적인 배포(Continuous Deployment)의 약자로 소프트웨어 개발 및 배포의 자동화를 통해 빠르고 안정적인 제품 출시를 목표로 하는 개발 방법론이다.
✓ CI(지속적인 통합)
개발자들이 작성한 코드를 중앙 저장소에 자주 통합하고, 자동화된 빌드와 테스트를 통해 문제를 빠르게 발견하고 해결하는 것이다.
이렇게 하면 개발자들이 서로의 코드와 충돌없이 효율적으로 협업할 수 있다.
✓ CI(지속적인 통합)
모든 변경사항을 자동화된 테스트와 빌드를 거친 후, 실제 사용자에게 자동으로 배포하는 것이다. 이렇게 함으로써 새로운 기능이나 수정사항을 사용자에게 빠르게 제공할 수 있게 된다.
설치
방장은 ec2에 설치하였다.
아래 사이트에서 LTS버전 Red Hat/Fedora/Alma/Rocky/CentOS 을 클릭하여 설명대로 수행했다.
java 버전은 17로 설치했다.
https://www.jenkins.io/download/
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
sudo yum install java-17-amazon-corretto.aarch64
sudo yum install java-17-amazon-corretto-devel.aarch64
설치 후 프로세스를 확인해보면 아래와 같다.
// 프로세스 확인
[ec2-user@JenkinsWas ~]$ sudo systemctl status jenkins
● jenkins.service - Jenkins Continuous Integration Server
Loaded: loaded (/usr/lib/systemd/system/jenkins.service; enabled; preset: disabled)
Active: active (running) since Thu 2023-12-21 16:32:28 KST; 22min ago
Main PID: 8754 (java)
Tasks: 49 (limit: 2120)
Memory: 1016.4M
CPU: 2min 21.322s
CGroup: /system.slice/jenkins.service
└─8754 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080
// 포트 확인
[ec2-user@JenkinsWas ~]$ netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp6 0 0 :::8080 :::* LISTEN
웹에서 서버IP:8080로 접근하면 초기 페이지로 접속할 수 있다.
최초 password는 jenkins/secrets 하위에서 확인할 수 있다.
[ec2-user@JenkinsWas ~]$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
389269c6129e4eb6***************
설치할 플러그인이 없다면 제안된 플러그인으로 설치를 클릭한다.
아래와 같이 Dashboard 페이지로 이동한다.(구성된 프로젝트는 무시한다.)
다음 글에서는 프로젝트를 구성하고, 실제 배포를 하는 과정에 대해 작성해보겠다.
문의사항이나 피드백은 댓글로 남겨주세요.
'Etc > JENKINS' 카테고리의 다른 글
[JENKINS] 구축부터 배포까지 (2) - 프로젝트 구성 (0) | 2023.12.21 |
---|