1. Jenkins 프로젝트 생성
1-1. 새로운 프로젝트 Item 선택

1-2. Item 이름 입력 후 Frestyle project 선택

1-3.Configuration에서 설정한 JDK 선택

1-4.소스관리 Git 설정

Repository URL : Build 대상 Spring 프로젝트 Url 입력

Credentials : Github 계정 선택


Credential 종류(kind)로는 Username with password 를 선택한 다음 username에는 Github Id를 Password에는 Github Password를 기입해 계정을 추가

1-5.Build 설정

Gradle Version : Configuration에서 설정한 gradle 선택
Task : --no-daemon clean build -x test (--no-daemon : 꼭 추가해줘야만 오류없이 빌드가 진행 참고 : https://www.codetd.com/article/9348244 ,-x test 테스트 코드는 빌드하지 않는다는 뜻)
1-6.빌드 후 조치

echo "PID Check..."
CURRENT_PID=$(ps -ef | grep java | grep jenkins_test_spring* | awk '{print $2}')
echo "Running PID: {$CURRENT_PID}"
if "$CURRENT_PID" [ -z CURRENT_PID ] ; then
echo "Project is not running"
else kill -9 $CURRENT_PID
sleep 10
fi
echo "Deploy Project...."
nohup java -jar /var/lib/jenkins/{젠킨스 jar폴더 경로} >> /var/lib/jenkins/{젠킨스 로그 파일 경로 지정}/jenkins_test_spring.log &
echo "Done"
간단하게 떠 있는 앱을 grep으로 찾아서 죽이고 새로운 앱을 배포한다. 출력은 logs폴더에 넣어서 nohup 에 해당하는 산출물을 저장한다. (logs 폴더는 사용자가 원하는 위치에 만들어준다.)
1-7.빌드 실행

참고 : https://dev-overload.tistory.com/39
출처: https://pjh3749.tistory.com/261 [JayTech의 기술 블로그]
출처 :https://www.codetd.com/article/9348244
AWS EC2 프리티어 환경에서는 SWAP을 통해 메모리를 늘려줘야 사용이 가능하다.
AWS에서 SWAP 할당
출처:https://sjh836.tistory.com/15
AWS에서 SWAP 할당
프리티어 t2.micro를 쓰면 기본메모리가 1메가이다. cent6.5 이런거는 메모리도 더 낮았던 거같다. 나의 경우 우분투 16.04를 설치했는데, 스프링프로젝트들을 AWS에 반영하는 것이 목적이었다. 그런데
sjh836.tistory.com
참고하면 좋은 정보
1.Jenkins Port 변경
출처:https://jojoldu.tistory.com/354
Jenkins Port 변경하기
Jenkins의 기본 포트는 8080입니다. 사정상 한대의 서버에 이것저것 설치해서 쓸 경우 8080포트는 사용하기 어렵습니다. (Upsource, Tomcat 등 대부분의 소프트웨어는 8080 포트를 기본으로 쓰고 있습니다
jojoldu.tistory.com
2.포트확인
sudo netstat -antup
특정 포트가 사용되고 있는지 확인할 때 다음 명령어를 사용합니다.
sudo netstat -nap | grep 42000
특정 포트를 사용하고 있는 프로그램(데몬)을 죽이고 싶을 때 다음 명령어를 사용합니다.
ps -ef | grep 프로그램 이름 명령어는 해당 프로세스가 실행되고 있는지 확인하는 명령어입니다.
sudo fuser -k -n tcp 42000
출처:https://wickies.tistory.com/102
[REST API 실습] 4. Springboot 프로젝트 AWS EC2 인스턴스에 배포
본 포스팅은 스터디 모임의 발표 참고자료로 사용하기 위해 작성되었습니다. 목차 1) Springboot 프로젝트 생성하고 RestController 작성 후 실행하기(Gradle) 2) AWS RDS로 MariaDB 생성해서 워크벤치에 연결
wickies.tistory.com
'AWS > spring' 카테고리의 다른 글
[AWS] Spring Boot 배포 (Jenkins Gradle 환경변수 설정) - 3 (0) | 2021.09.11 |
---|---|
[AWS] Spring Boot 배포 (Jenkins 서버 구축) - 2 (0) | 2021.09.11 |
[AWS] Spring Boot 배포 (인스턴스 생성) - 1 (0) | 2021.09.09 |