Jenkins란 무엇일까?
젠킨스는 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 CI (Continuous Integration) 툴이다.
개발자가 개발을 하면서 소스 코드를 서버에 올릴 수 있는 상태로 만드는 것을 '빌드' 라고 하고, 서버에 올린 뒤 사용자가 사용할 수 있게 하는 것은 '배포'라고 한다.
개발자는 코드를 계속 업데이트 해나가면서 여러번의 빌드를 거쳐나가게 되는데, 시간이 지날수록 굉장히 번거롭게 되고 빌드하는 시간 또한 오래걸린다. 이러한 이유로 빌드를 자동화 시키는 작업을 할 필요가 있게 된다.
젠킨스는 이러한 빌드를 자동화 시켜주는 도구이다.
Jenkins 설치하기
AWS EC2에서 Amazon linux2를 띄우고 젠킨스를 설치해보자
1. sudo yum -y update 를 통해 yum 레포지토리를 업데이트
2. 젠킨스를 사용하기 위해서는 Java가 필요하다. java를 설치해주자
3. 공식 홈페이지 주소 에 나와있는 순서대로 젠킨스를 설치해주자
4. 설치가 완료되면 젠킨스를 실행시킨 뒤, 상태 확인
젠킨스 설치를 완료해도 실행이 안된다면 자바가 설치 되어 있는지 확인해보자,
5. 젠킨스가 설치되었고, 실행중이라면 주소창에 <public ip>:8080 을 통해서 젠킨스에 접속할 수 있다.
젠킨스에 접속되지 않는다면 AWS에서 보안그룹에서 인바운드 규칙 8080 을 추가해준다.
cat /var/lib/jenkins/secrets/initialadminpassword 으로 패스워드를 확인하자
6. 원하는 플러그인을 설치하자.
7. 추천 플러그인 설치를 진행하면 다음과 같은 플러그인들이 설치된다.
8. Admin user를 생성
9. 여기까지 순서대로 진행되었다면 젠킨스 설치가 완료되었다.
2. Jenkins를 nginx와 연동
Jenkins 앞단에 nginx를 둬서 8080포트를 입력하지 않아도 80을 통해서 젠킨스에 접속하도록 하자
1. amazon-linux-extras 레포지토리에서 nginx1 설치
2. nginx 가 설치 되었으면 실행한 뒤, 상태 확인
3. /etc/nginx/nginx.conf 구성파일 수정
4. nginx.conf 파일에서 server 아래에
location / {
proxy_pass http://localhost:8080;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
추가해준다.
5. nginx 재시작
6. 제대로 연결되었다면 8080을 거치지 않아도 바로 80으로 접속할 수 있게 된다.
이상으로 젠킨스 설치하는 과정에 대해서 알아보았다.
'DevOps > CI CD' 카테고리의 다른 글
[ArgoCD] Kubernetes Cluster에 ArgoCD 배포하기 (1) | 2021.07.02 |
---|---|
[무중단 배포] Rolling, Blue/Green, Canary 배포 (0) | 2021.06.16 |
[Jenkins] Jenkins에 Github를 연동하고 빌드 자동화하기 (2) | 2021.05.23 |
[Code Pipeline] EKS와 Code Pipeline를 사용하여 CI/CD 구축하기 (1) | 2021.05.07 |
[CI/CD] Git과 연동하여 AWS Pipeline 생성하기 (1) | 2021.02.22 |