본문 바로가기
JAVA/서버작업

AWS Linux2 + Jenkins + Github 서버구성 및 배포

by 2세1의 행복한 개발 2021. 5. 25.
반응형

젠킨스 설치

 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 -y
 sudo service jenkins start

Java11 설치

   amazon-linux-extras
   amazon-linux-extras java-openjdk11 install
   amazon-linux-extras install java-openjdk11

nginx 설치

amazon-linux-extras install nginx1

시작 프로그램 등록

systemctl enable nginx
systemctl enable jenkins

 

nginx 설정 변경

vi /etc/nginx/nginx.conf

location / {
  proxy_pass http://localhost:8080;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
}

빨간 부분을 새로 추가해줍니다

service nginx start

변경된 nginx를 기준으로 웹서버를 시작합니다

cat /var/lib/jenkins/secrets/initialAdminPassword

해당 패스워드를 입력하여 초기 세팅을 진행합니다

왼쪽에 install suggested plugins을 선택

설치 완료 후 관리자로 사용할 계정을 생성하게 됩니다

 

추가 플러그인

Publish Over SSH

를 찾아 설치해줍니다

시스템 설정 최하단으로 가면

ssh servers 설정이 가능합니다

제가 배포할 서버를 입력하고

배포할 폴더 경로를 넣어주세요

새로운 Item 선택

해당 프로젝트 명 입력

Freestyle project 선택 후 OK

Repository URL : github에 git http url주소를 넣어줍니다

Add 클릭

해당 github에 접속이 가능한 유저 및 패스워드 등록

배포할 브런치 선택

저는 */main 이였습니다

하단에 Build에서 Send files or execute commands over SSH를 선택

 - Name : 좀전에 설정한 본인이 지정한 SSH Server 이름을 선택한다.
 - 고급 옵션 : Verbose output in console 을 체크하면 빌드할 때 상세 내역이 표시 된다.
 - Source files :  전송할 파일을 지정한다. 혹시 전체 파일 이동을 하려면 **/* 과 같이 입력 하면 된다.
 - Remove prefix : Source files에서 지정한 경로의 하위 폴더를 지우는 기능 이다. 위의 예시같이 입력한다면 폴더를 제외하고 jar 파일만 전송하게 될 것이다.
 - Remote directory : SSH Server로 지정한 서버의 원격지 폴더이다.
 - Exec command : 파일 전송이 모두 끝난 이후에, SSH Server로 지정한 서버에서 실행될 스크립트를 지정할 수 있는 기능

배포 버튼 클릭

배포가 완료된것을 볼수있습니다

댓글