인프라/Jenkins

Spring Boot(Gradle) 젠킨스 구축 및 자동배포 - (1) 젠킨스 세팅

소프 2021. 8. 31.

환경 구성

  • centos7 : centos8로 시도시 일부 문제발생
  • GCP 인스턴스 3개
    • jenkins : 젠킨스 설치 인스턴스 / 최소 권장 사양 : CPU 2코어, 램 4G
    • worker1 : 실제 웹 어플리케이션을 실행할 인스턴스
    • worker2 : 실제 웹 어플리케이션을 실행할 인스턴스
  • GCP 방화벽 추가
    • 젠킨스, worker1 포트 관련 방화벽 추가

 

  • 젠킨스 서버 && worker1~2 실행 명령어
sudo yum update

# docker
sudo yum install docker 
sudo systemctl start docker
sudo chmod 666 /var/run/docker.sock
docker login > 도커허브 계정 ID/PW 입력 후 Success 문구 확인

# JDK
sudo yum list java*jdk-devel
sudo yum install java-11-openjdk-devel.x86_64

# 기타
sudo yum install git
sudo yum install wget

 

 

 

  • 젠킨스 서버 실행 명령어(JDK 사전설치 필요)
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install jenkins
sudo systemctl start jenkins
sudo systemctl status jenkins : 젠킨스 데몬이 정상적으로 떴는지 확인

# 여기까지 실행하면 설치는 완료

# 젠킨스 초기 비밀번호
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

# gradle 설치
unzip gradle-6.8.3-bin.zip //자신의 프로젝트의 gradle 버전에 맞게 수정

mv gradle-6.8.3 /usr/local/gradle //자신의 프로젝트의 gradle 버전에 맞게 수정

vim /etc/profile.d/gradle.sh
export PATH=/usr/local/gradle/bin:$PATH //추가

//soruce : 스크립트 파일을 수정한 후에 수정된 값을 바로 적용하기 위해 사용하는 명령
source /etc/profile.d/gradle.sh 

gradle -v

 

Jenkins를 docker 컨테이너 위에서 돌릴 수 있지만 설정관련 문제들 때문에 인스턴스에 설치(개인적인 취향)

 

젠킨스는 기본 8080포트를 사용

GCP 방화벽 규칙 설정에서 8080포트 추가

 

※ 젠킨스 포트 변경법

JENKINS_PORT=8080 을 9999로 변경 후 systemctl 명령어로 젠킨스 재실행

sudo vi /etc/sysconfig/jenkins
sudo systemctl restart jenkins

 

 

 

  • 젠킨스 접속

http://{GCP 인스턴스 외부IP}:8080/

sudo cat /var/lib/jenkins/secrets/initialAdminPassword에서젠킨스 초기 비밀번호 확인, 입력 후 continue 버튼 클릭

 

 

  • 추천 플러그인 클릭

 

  • 계정 생성

 

  • URL  설정 (필자는 그대로 감)

 

  • 플러그인 설치, 젠킨스 관리 > 플러그인 관리

 

  • publish over ssh 체크박스 체크 후 install without restart -> 대시보드로 돌아가기
    • worker instance에 ssh 연결 및 실행할 스크립트를 작성할 때 필요

 

 

 

참고

 

https://class101.net/products/T6HT0bUDKIH1V5i3Ji2M

 

현직 대기업 개발자 푸와 함께하는 진짜 백엔드 시스템 실무!

IT 대기업들의 백엔드 개발자 채용공고를 본 적 있나요? 📍위 밑줄 친 부분을 배울 수 있도록 커리큘럼을 구성했어요. 겉보기엔 어려워 보이지만, 결국 배우고 나면 나도 저런 곳에서 일할 수 있

class101.net

 

https://wonit.tistory.com/584

 

[Webhook을 이용하여 CI CD 구성하기] - ec2 생성 및 Jenkins 설치

해당 글은 Jenkins와 Github Webhook을 이용한 CICD 파이프라인 구성하기 시리즈 입니다. 자세한 사항은 아래 링크를 참고해주세요! 만약 해당 실습 내용의 코드가 궁금하다면 프로젝트 깃허브 에서 확

wonit.tistory.com

 

https://cionman.tistory.com/29

 

12. 리눅스(CentOS) 개발 놀이터 만들기 - Jenkins 설치

블로그 이전 작업 중입니다. https://suwoni-codelab.com/linux/2017/06/04/Linux-CentOS-jenkins/ 안녕하세요~  오늘은 Jenkins 설치를 해보겠습니다. 아래 링크는 Jenkins란 어떤 툴인지 설명이 잘되어 있는..

cionman.tistory.com

 

 

 

댓글