[Jenkins] - Jenkins를 활용하여 CI/CD 구축하기 #1
간단하게 EC2와 Jenkins를 활용하여 CI/CD를 구축하고 테스트 해보자!
흐름은 아래와 같다.
1. github에 Merge&Push
2. main 브런치에 변동이 있으면 github가 webhook을 통해 젠킨스 호출,
호출된 젠킨스는 main 브랜치를 가져와 빌드
3. 빌드된 jar파일을 배포서버로 전송하고 배포
어플리케이션 작성
Springboot&Gradle
간단하게 컨트롤러만 작성해보자.
@RestController
public class Controller {
@RequestMapping("/test")
public String test() {
return "Hello Jenkins!";
}
}
그리고 application.properties에서 포트번호도 바꿔주자.
server.port=8081
Jenkins 설정
설정 전에 젠킨스용 ec2서버가 프리티어라면 서버 메모리 용량을 늘려주자.
https://dongdev.tistory.com/61
AWS EC2 프리티어 메모리 용량 늘리기
EC2 프리티어에 젠킨스를 설치하여 사용하면 서버가 멈추는 경우가 있다. 이는 EC2 프리티어 메모리 용량이 너무 작아 발생하는 현상이다. $ free -h 위 명령어로 메모리 용량을 확인해보자. 위 사진
dongdev.tistory.com
젠킨스 설치
젠킨스용 ec2서버에 설치를 진행한다.
1. jenkins 저장소 키 추가
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
/etc/apt/sources.list.d/jenkins.list'
2. apt-get 최신화
sudo apt-get update && sudo apt-get upgrade
3. jenkins 설치
sudo apt-get install jenkins
4. java 11 설치
sudo apt-get install openjdk-11-jdk
5. jenkins 실행
sudo systemctl start jenkins
6.jenkins 확인
sudo systemctl status jenkins
아래와 같은 로그가 보인다면 잘 설치된 것이다.
7. jenkins 설정
ec2의 퍼블릭 IPv4주소의 8080 포트로 접근한다. [http://(hostIp or hostName):8080]
그러면 아래와 같은 창을 볼 수 있다.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
위 명령어로 확인한 문자를 입력하고 Continue 버튼을 누른다.
본인이 사용하는 플러그인을 잘 모른다면 Install suggested plugins를 클릭하고 설치가 되면 admin을 등록해준다.
완료하면 위와 같은 화면을 볼 수 있다.
*Jenkins를 활용하여 CI/CD 구축하기 #2