[Jenkin] EC2 기반 CI/CD 환경 구축
3개의 인스턴스를 이용할 것 입니다
빌드서버
1)
t2.micro로 Ubuntu22.04LTS EC2 하나를 만들어 접속했다.
2)
sudo apt-get update
apt install openjdk-17
3) JAVA_HOME환경변수 설정
export JAVA_HOME=$(dirname $(dirname $(update-alternatives --list javac)))
echo $JAVA_HOME 명령을 통해 설정한 환경변수를 확인가능하다.
4) Jenkins 설치
다음 공식 코드를 따라 참고하는 것을 권장한다. (작성일 24.02.23)
https://www.jenkins.io/doc/book/installing/linux/
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins
5) Jenkins 구동
sudo service jenkins restart
- 이후 http://컨테이너IP:8080을 통해 접근 가능하다.
- 비밀번호는 아래 명령어로 획득 가능하다.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
6) 플러그인 설정
접속 후 "Install Suggested plugins"을 통해 플러그인을 다운받는다.
![]() "Install Suggested plugins" 선택 |
![]() 설치중인 모습 |
- 개인 설정
첫 어드민 유저를 생성은 Skip하였다.![]() |
Jenkins 기본 접근 경로는 "JenkinsDashboard"로 설정했다 ![]() |
설정 완료 후 표출되는 화면![]() |
7) 플러그인 설정 페이지 이동
8) "Publish Over SSH" 설치
설치대기![]() |
![]() |
+ 이후 재로그인 ID는 admin
9) SSH 키 값을 하나 생성
sudo ssh-keygen -t rsa
그 중 .ssh파일에 저장된 id_rea.pub 파일의 내용을 출력해 복사해놓자!
Git 서버
1) 인스턴스 실행 및 접속
t2.micro로 생성한 Ubuntu22.04LTS를 사용하였습니다.
2) 빌드 서버 접근키 작성
아래 명령어 입력 후 빌드서버 단계 9)에서 생성한 .pub 파일의 내용을 붙여넣는다.
cd .ssh
vi authorized_keys
3) 접근키 생성
ssh-keygen -t rsa
- 값 복사해놓기
배포 서버
1) 인스턴스 실행 및 접속
2) JDK 다운로드
저는 프로젝트에서 17버전을 사용하기에 17버전을 다운받았습니다.
sudo apt-get update
sudo apt install openjdk-17-jdk-headless
3) Git 서버 접근키 작성
Git 서버 3)의 과정에서 복사한 Key값을 붙여 넣습니다.
cd .ssh/
vi authorized_keys
Jenkins
1) Jenkins 관리 - System 접근
2) 하단으로 내려와서 SSH Server 추가