환경 구성
- 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
https://cionman.tistory.com/29
'인프라 > Jenkins' 카테고리의 다른 글
센토스 서버 스프링부트 war 파일 배포 연습기록 (0) | 2021.11.13 |
---|---|
젠킨스 이슈 및 해결사항 (0) | 2021.11.13 |
깃허브에 없는 파일을 젠킨스에 수동으로 파일 업로드 하는방법 (0) | 2021.08.31 |
Spring Boot(Gradle) 젠킨스 구축 및 자동배포 - (2) 젠킨스 깃허브 연동 + Dockerhub에 push (0) | 2021.08.31 |
Spring Boot(Gradle) 젠킨스 구축 및 자동배포 - (3) 젠킨스 SSH 생성 후 워커 인스턴스에 등록 (0) | 2021.08.31 |