


종속성은 spring boot devtools과 spring web

@RestController
public class AppController {
@GetMapping("/")
public String home() {
return "Hello, world"
}
}





스프링부트 (8080)에 연결해야하므로 설정한다.

이제 인스턴스를 실행한다!

sudo apt update
sudo apt install openjdk-17-jdk -y
java -version

git clone {git repositroy clone 주소}

private 리파지토리이기 때문에 내 깃허브 계정으로 로그인해야한다!
이때, 실제 github의 비밀번호가 아니라 github 토큰을 입력해야 한다!
github 토큰 관련 포스트
$ cd {프로젝트 경로}
$ ./gradlew clean build
$ cd build/libs
$ nohup java -jar ________.jar & #그 이후에 엔터
$ sudo lsof -i:8080 # 8080번 포트에 실행중인 프로세스(스프링부트)가 무엇인지 확인




$ cd {프로젝트 경로}
$ git pull origin main
$ sudo lsof -i:8080 # 8080번 포트에 Spring Boot가 실행되고 있는 지 확인
$ sudo fuser -k -n tcp 8080 # 8080번 포트에 실행되고 있는 프로세스 종료
$ ./gradlew clean build
$ cd build/libs
$ nohup java -jar ________.jar &

위 스샷에서 pull이 아니라 clone을 했다... 이렇게 하면안됩니다.
아래가 맞는 스샷임.

이 과정이 너무너무 귀찮다. -> cicd를 사용한다!!
다음 포스트에서 본격적으로 적용해본다.
배포할때마다 일일히 인증을 하면 배포를 자동화할 수 없다.
-> 최초 1회만 인증하게 해보자!
$ git config --global credential.helper store
$ git pull origin main
# Github 계정 및 비밀번호 입력
$ git pull origin main # 더 이상 비밀번호를 안 묻는 걸 확인할 수 있다.
이렇게하면 ~/.git-credentials에 로그인 정보를 저장해둠으로써 github 계정과 비밀번호를 따로 묻지 않는 방식이다. 이 방식의 단점은 EC2에 접근할 수 있는 모든 사용자가 내 Github 정보를 볼 수 있다는 점이 단점이다. 
물론 이후 토큰은 삭제했다.