안녕하세요.
이번 글은 A 서버(젠킨스) B 서버(jar + compose) 배포하는 기초적인 과정을 담았습니다.
다음 글-
2020/09/15 - [GCP] - using jenkins, jar container on GCP : jenkins로 compose 배포하기
진행하면서 다루게 될 목록입니다.
들어가기 전
글의 흐름을 보시기 전 준비해주실 단 하나는 계정입니다.
그 외 jar 파일의 이미지도 제공하고 있어, 흐름대로 진행하시면서 좋은 경험이 되었으면 좋겠습니다.
다룰 기술의 목록입니다.
- google cloud platform (GCP CE * 2)
- github
- docker
- docker-compose
- gradle:6.3
- spring boot app (jar)
- openjdk 11
- jenkins:2.249.1
postman
1-1. GCP VM 생성하기 : Jenkins
- 프로젝트 생성
- vm 인스턴스 생성
- vm 인스턴스 설정
* 이름 작성
* 리전 설정
* 머신 설정
- vm os 설정하기
* Ubuntu 20.04 LTS
* 10GB
- 방화벽, 네트워크 인터페이스 설정
- 외부 IP 고정 설정: 이후 jenkins 접근 시 고정 ip로 접근합니다.
* 이름
1-2 GCP VM 생성하기: Jar 서버
jenkins 인스턴스와 유사하게 만듭니다.
- jenkins instance 클릭
- 유사하게 만들기
instance 이름은 instance-web으로 만들었습니다.
- 고정 IP 설정하기
* 이름 입력
- 최종 결과
2-2 메타데이터 ssh 접근 설정
jenkins와 web이 소통할 수 있도록 ssh public key를 설정하는 과정입니다.
2. jenkins를 통해 SSH 열기
- ssh-keygen을 통해 public/private key 생성
ssh-keygen -t rsa
=> 엔터 세 번을 입력
- 복사를 위해 publickey 출력과 메타데이터에 ssh publickey 추가
cat .ssh/id_rsa.pub
=> 왼쪽 화면 메타데이터 클릭
- SSH 키 클릭 후 수정 버튼 클릭
- publickey 등록
앞서 출력한 publickey를 마우스 드래그로 선택하면 복사됩니다.
publickey를 메타데이터에 등록하면 모든 인스턴스에 publickey가 공유되어
인스턴스끼리 접근이 가능해집니다.
- web에 접근하기
명령어의 형식: ssh -i [instance name] [ip]
ssh -i instance-web 10.178.0.3
이후 유저를 보시면 instance-web으로 전환되는 것을 확인할 수 있습니다.
3. jenkins 설치하기: go to instance-jenkins
* jenkins 설치 튜토리얼을 통해 명령어와 ufw 허용 설정을 참고하였습니다.
https://www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-20-04
- 설치 명령어
jenkins 구동을 위한 jdk
repository key 등록과 젠킨스 설치
sudo apt-get install openjdk-11-jdk -y
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins -y
- 설치 후 아래 명령어를 입력하시면 active 화면이 나옵니다.
sudo systemctl start jenkins
sudo systemctl status jenkins
sudo ufw allow 8080
현 상태로 jenkins ip:8080으로 접근이 되지 않습니다.
네트워크 세부 설정으로 8080포트를 열도록 하겠습니다.
- 세부 설정 보기
- 하단의 방화벽 규칙에서 allow-http 클릭
- plugins 설치를 위해 모두 허용으로 변경합니다.
추후에 80, 8080으로 허용하셔도 됩니다.
- 네트워크 반영 후 ip와 Port로 접근하시면 가능합니다!
- 비밀번호를 확인합니다.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
아래 코드를 입력하시면 됩니다.
제안해주는 plugin 설치
- admin 계정 설정
- VM ip 설정
이후 start를 누르시면 젠킨스 화면에 접속됩니다.
한 글에 전부 쓰는건 부담이 될 수 있다고 생각하여,
바로 이어서 다음 글에서 jenkins 설정과 배포를 진행하겠습니다.
감사합니다!
'GCP' 카테고리의 다른 글
gcp 방화벽 열기 (0) | 2022.09.13 |
---|---|
GCP VM 인스턴스 xshell로 접속하기 (0) | 2021.01.04 |
GCP에 jenkins 구축 후 compose로 배포하기 (0) | 2020.09.15 |