GCP

GCP에 jenkins 설치 후 jar container 배포하기

PSAwesome 2020. 9. 14. 23:33
반응형

안녕하세요. 

이번 글은 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 인스턴스 설정

* 이름 작성

* 리전 설정

* 머신 설정

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 열기 화면

 

- ssh-keygen을 통해 public/private key 생성

 

ssh-keygen -t rsa

=> 엔터 세 번을 입력

keygen 후 화면

 

- 복사를 위해 publickey 출력메타데이터에 ssh publickey 추가

 

cat .ssh/id_rsa.pub

=> 왼쪽 화면 메타데이터 클릭 

 

publickey 생성 후 메타데이터 클릭

 

- SSH 키 클릭 후 수정 버튼 클릭

 

 

- publickey 등록

앞서 출력한 publickey를 마우스 드래그로 선택하면 복사됩니다.

복사한 publickey 등록

publickey를 메타데이터에 등록하면 모든 인스턴스에 publickey가 공유되어

인스턴스끼리 접근이 가능해집니다.

- web에 접근하기

명령어의 형식: ssh -i [instance name] [ip]

ssh -i instance-web 10.178.0.3

 

이후 유저를 보시면 instance-web으로 전환되는 것을 확인할 수 있습니다.

ssh를 통해 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

 

jdk 설치 후 key 등록, deb 추가

 

jenkins 설치

 

 

- 설치 후 아래 명령어를 입력하시면 active 화면이 나옵니다.

 

sudo systemctl start jenkins

sudo systemctl status jenkins

sudo ufw allow 8080

 

status 성공 확인

 

현 상태로 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