기술 단어장/CICD

[Jenkin] EC2 기반 CI/CD 환경 구축

MFDO 2024. 2. 28. 21:05

 

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 추가