개발/ETC

[Jenkins] - Jenkins를 활용하여 CI/CD 구축하기 #1

dongdev 2022. 6. 28. 00:03

 

간단하게 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

https://dongdev.tistory.com/63?category=540004