CI/CD 입문 실전 - 2.1.Spring Boot 프로젝트에 CI/CD 구축(개인 프로젝트용)



t3a.small(instance) 선택 이유
Spring Boot가 무겁기 때문이다.
t2 micro swap을 활용하여 가상 메모리를 늘리는 방법도 있다.

JDK란?
Java 프로그램을 개발하기 위해 필요한 도구 모음
자바 개발 캐트(Java Development Kit, JDK)
자바 애플리케이션을 구축하기 위한 핵심 플랫폼 구성요소
~$ sudo apt update
~$ sudo apt install openjdk-17-jdk -y
~$ java -version
# GitHub repository에 있는 내용을 내 로컬(컴퓨터)에 '복제'하는 명령어
~$ git clone .git
private으로 된 repository를 다운받으려고 하면 github의 아이디와 비밀번호를 입력하라고 한다. 그런데 이걸 맨날 private에서 public으로 바꿔서 하기엔 너무 귀찮다. 실제로도 그렇게 어렵지 않다. 5분만 참으면 하루가 편해진다.
home/ubuntu/project
$ ./gradlew clean build # spring boot build 명령어
Error
-bash: ./gradlew: Permission denied
해결 - 실행 권한 주기
chmod +x ./gradlew
t2.micro에 라이브러리 등의 문제를 해결하려면 SWAP을 사용하면 된다.
home/ubuntu/project/build/libs
nohup java -jar -SNAPSHOT.jar # 배포 명령어
sudo lsof -i:8080 # 배포 확인 명령어 # 8080 포트에서 실행되고 있는 프로세스 알려줘
PublicIPs + : port
home/ubuntu/project/build/libs
git pull origin main
home/ubuntu/project
sudo fuser -k -n tcp 8080 # tcp 8080 port에서 사용하고 있는 프로세스를 종료하는 명령어
./gradlew clean build # 다시 빌드
# 다시 빌드하는 이유는 새로운 코드로 바꼈고 바뀐 코드로 새로 빌드해야지 업데이트가 되기 때문
home/ubuntu/project/build/libs
nohup java -jar -SNAPSHOT.jar
home/ubuntu/project
git config --global credential.helper store # 한 번 로그인을 하면 그 값을 저장해놓고 계정과 비밀번호를 입력하지 않아도 된다는 명령어
git pull origin main
cd ~
ls -a
cat .git-credentials # .git-credentials 파일 읽기
개인정보 토큰값이 열린다는 것이 문제점이다.