AWS EC2에 젠킨스 설치하기

Sei Kim·2024년 1월 27일
0

AWS EC2

목록 보기
4/8
post-thumbnail

들어가며

현재 Wondoo 라는 프로젝트를 진행하고 있는데 Gitlab에서 작성한 코드를 배포 자동화를 하기 위해서 선택한 도구로 젠킨스를 선택하였습니다!

해당 포스트에서는 젠킨스를 설치하고 간단한 테스트까지 진행해보도록 하겠습니다.

1. 젠킨스 설치하기 with. Docker


현재 AWS EC2에는 Docker가 설치되어 있습니다. 젠킨스를 설치되어 있는 도커 환경에서 동작하도록 해보도록 하겠습니다.

일단 먼저 Dockerhub - Jenkins에서 이미지를 확인해보도록 하겠습니다.

다음과 같이 친절하게 이미지를 어떻게 사용하면 좋은 알려주고 있습니다.

1.1. 볼륨 관리하기


저는 젠킨스를 새로 실행해도 데이터가 사라지지 않도록 볼륨을 사용할 것 입니다.
먼저 관리하기 쉽도록 docker_volume 이라는 폴더를 생성하여 관리하도록 하겠습니다.

해당 폴더 아래에 jenkins 를 위한 폴더도 생성하도록 하겠습니다.

정상적으로 폴더를 생성하였습니다.

1.2. 실행 스크립트 작성하기


저는 sh파일을 만들어 한번에 실행시키고 싶기 때문에 실행 스크립트를 작성해보도록 하겠습니다.
도커 실행 스크립트를 관리하기 위해서 docker-script라는 폴더도 생성하도록 하겠습니다.

해당 폴더에서 vi 편집기를 사용하여 작성해보도록 하겠습니다.

vi jenkins_script.sh

## vi

docker run -d --name jenkins_container -p 8080:8080 -p 50000:50000 -v /home/ubuntu/docker_volume/jenkins:/var/jenkins_home jenkins/jenkins:jdk17      

다음과 같이 작성하였습니다.

1.3. ufw allow


현재 사용하려고 하는 포트는 열려있지 않습니다. ufw를 사용하여 해당 포트를 열어줍니다.

sudo ufw allow {port}
sudo ufw reload
sudo ufw status

1.3. 실행 스크립트 실행하기


해당 스크립트가 있는 폴더에서 sh jenkins_script.sh로 실행합니다.

결과로 정상적으로 동작하는 것을 확인할 수 있고 사이트에도 접속을 해보도록 하겠습니다.

정상적으로 동작하는 것을 확인하였고 해당 위치에 있는 비밀번호를 확인하여 기본적인 세팅을 진행하도록 하겠습니다.

2. 젠킨스 설정


위 사진에서 정상적으로 접속을 하는 것을 확인하였고 초기 비밀번호를 확인해보도록 하겠습니다.

2.1. 초기 비밀번호 확인


2.1.1. volume

먼저 도커 볼륨으로 연결을 해두었기 때문에 비밀번호가 있는 위치로 이동하여 확인하는 방법입니다.

cat {docker_volume 위치}/secrets/initialAdminPassword

2.1.2 docker exec 확인


docker exec 로 직접 접속하여 확인할 수 있습니다.

# AWS EC2
docker exec -it {컨테이너 정보} /bin/bash

# Docker Container
cat /var/jenkins_home/secrets/initialAdminPassword

한번에 확인하는 방법은 다음과 같습니다.

docker exec {컨테이너 정보} cat /var/jenkins_home/secrets/initialAdminPassword

logs


개인적으로 가장 쉬운 방법이라고 생각합니다.

docker logs {컨테이너 정보}

위와 같은 명령어를 작성하면 최근 로그들을 보여주는데 처음실행 할 때 비밀번호를 확인할 수 있도록 번호를 보여줍니다

2.2. 플러그인 설치


위에서 알아낸 비밀번호를 입력한 후 아래 Continue 버튼을 클릭하여 다음으로 넘어갑니다.

이후 젠킨스에서 추천하는 플러그인을 설치합니다.

2.3. 계정 생성


다음으로 어드민 계정을 생성합니다. 필요한 정보를 입력합니다.

2.4. 인스턴스 설정


젠킨스의 URL 을 확인한 뒤 작성하거나 기본값을 사용합니다.

여기까지 진행하면 정상적으로 실행할 수 있습니다.

3. 플러그인이 정상 설치가 안되는 경우


플러그인이 정상적으로 설정되지 않는 경우가 발생하였습니다.

해결하기 위해서 먼저 젠킨스 플러그인 미러사이트를 찾아봤습니다. - Jenkins Update Center - Github

그 다음 가장 빠른 데이터 센터를 찾기 위해서 아래와 같은 명령어를 실행하였습니다.

curl -sSL https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/speed-test.sh | bash

업로드중..

다음과 같이 업데이트 사이트를 미러 사이트로 수정할 수 있습니다.

4. 정리


이렇게 AWS EC2 환경에서 Docker을 사용하여 Jenkins를 설치 및 설정을 진행하였습니다.

0개의 댓글