[DevOps] Jenkins로 CI/CD 구축하기-1 (Jenkins 설치편)

안나·2024년 3월 14일
0

DevOps

목록 보기
16/21
post-thumbnail

0. 들어가기 전에

회사에서 하고 있는 프로젝트에 바로 ci/cd를 구축하면 좋겠다만 ci/cd가 처음인 나는 전에 했던 프로젝트를 가지고 ci/cd를 구축해보려고 한다.

플리보따리 라는 프로젝트인데 이 프로젝트는 현재 팀원이 gitAction으로 cicd를 구축해두어서 나는 따로 포크해와 jenkins로 구성해보려고 한다.
위와 같은 구조를 가지도록 목표하고 있다.

기회가 된다면 Nginx도 추가해보고 싶다.

우선 대충 이 정도만 띄워서 되는지만 확인해보는 것이 단기 목표이다!

가보자고

1. Jenkins 컨테이너 생성하기


젠킨스 도커 컨테이너를 생성할 것이다.

서버에는 이미 도커가 설치되어 있었다. 도커를 설치하는 과정은 넘어간다.

swapfile 도 2기가 설정해두었다. 이 과정도 기록하지는 않는다. 참고링크에서 참고하자.

우선 설치하기 전 생성할 컨테이너에 Java17을 설치 하려고 한다. 자바 11을 쓴다면 아래와 같이 간단하게 명령어를 작성하여 컨테이너를 만들 수 있지만 현재로서는 Jenkins 이미지 중에 Java17을 지원하는 것은 없다.

sudo docker run -d --name jenkins -p 8081:8080 jenkins/jenkins:jdk11

그래서 Java17설치하는 Dockerfile을 작성하고 그 Dockerfile을 통해 이미지를 만들고 이미지를 실행시켜 컨테이너를 만들 것이다.

  1. Dockerfile 작성

    # Dockerfile
    
    FROM jenkins/jenkins
    
    USER root
    
    # OpenJDK 17 설치
    RUN apt-get update && apt-get install -y openjdk-17-jdk
    
    # Jenkins 시작
    USER jenkins
    
  2. Docker 이미지 빌드

    sudo docker build -t jenkins .
    • Dockerfile 이 있는 디렉토리에서 위 명령어를 실행한다.
    • 여기서 -t 옵션은 빌드된 이미지에 태그를 부여하는 데 사용된다. jenkins는 이미지의 이름이 된다.
    • .은 Dockerfile이 있는 현재 디렉토리를 나타낸다.
  3. Jenkins 컨테이너 생성

    sudo docker run -d --name jenkins -p 8081:8080 jenkins
    • 호스트의 8081 포트와 컨테이너의 8080 포트를 매핑하여 호스트의 8081 포트를 통해 컨테이너의 Jenkins 서버에 접근할 수 있게 했다.


    (서버ip):8081 를 브라우저에 url로 입력해 이동하면 젠킨스 아저씨를 만날 수 있다. 바로 요렇게

(이 아저씨가 나중에 되게 화낸다던데…. )



2. Jenkins 설정


젠아저씨가 기다리라는 대로 기다리면 아래와 같은 화면이 뜬다.

패스워드를 입력해야 하는데 입력하기 위해서는 젠킨스가 설치된 컨테이너에 접속해 위에 빨간 글씨로 적혀있는 디렉토리로 이동하면 초기 관리자 키가 적혀 있다.

// jenkins 컨테이너에 접속
$ sudo docker exec -it jenkins bash
// 초기 관리자 키 확인
$ cat /var/jenkins_home/secrets/initialAdminPassword

위 명령어를 통해 출력된 키를 입력하고 Continue 하면 아래와 같이 초기 플러그인 설정이 나온다.

나는 추천 플러그인들을 설치하고 넘어갔다.

다 되면 유저 설정을 해보자

다 끝나면 Jenkins에 접속할 URL을 설정할 수 있다.

나는 아래와 같이 바꿔주었다.

아니 근데 왜 저 url로 들어가면 화내는거임 ?

아오

저 설정은 뭔지 모르겠고 그냥 8081로 접속해주자 ㅎㅎ..

짜자자잔

이제 모든 설정은 마쳤으니 CI를 구축해보자 !







📎 참고 링크

https://seongwon.dev/DevOps/20220713-CICD란/

0개의 댓글