ec2 서버에서 git에 있는 소스를 내려받은 후, gradlew를 이용해서 소스를 빌드하는 과정입니다.
1. EC2에 Git 설치 및 설치된 버전 확인
$ sudo yum update // 초기에 package 들을 update 해준다.
$ sudo yum install git
$ git --version
git version 2.40.1
2. 프로젝트 소스를 저장할 디렉토리 생성 및 이동
$ pwd
/home/ec2-user/app/git-source
3. git clone 실행
$ git clone https://github.com/계정명/레포지토리명.git
Username for 'https://github.com': git계정
Password for 'https://git계정@github.com': git계정 비밀번호
* git계정 비밀번호는 GitHub Personal Access Token을 입력해야함.
* token값을 입력하지 않은경우 아래와 같은 오류가 발생합니다.
remote: Support for password authentication was removed on August 13, 2021. remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication. fatal: Authentication failed for 'https://github.com/계정명/레포지토리명.git' |
GitHub Personal Access Token 생성
GitHub Personal access tokens 만들기
이클립스 또는 Jenkins 에서 GitHub 연동하여 Push, Fetch... 명령어를 사용하려면 인증을 해야 하는데, 기존에 ID/Password 인증을 사용했으나 2021.08.13일 부터 ID/Personal Access Token 방식의 Token 인증방식으로
ksshim.tistory.com
Git pull, push 할 때 username, password 생략하기
https://ksshim.tistory.com/143
Git pull, push 할 때 username, password 생략하기
Git 명령어를 사용해서 pull, push, clone 할때마다 username 과 password를 입력해야 합니다. 이 과정을 생략하기 위해서 HTTPS 인증정보(Credential)를 저장하는 것입니다. 이렇게 하면 처음 인증정보를 입력
ksshim.tistory.com
4. 프로젝트가 정상적으로 다운되었는지 확인
ll 명령어로 레포지토리명 디렉토리가 생성되었는지 확인
5. gradlew 파일에 실행 권한 추가
다운받은 디렉토리에서 gradlew 파일에 대해서 실행권한을 추가함.
$ chmod +x ./gradlew
6. gradlew build 와 test를 실행하여 빌드와 테스트가 정상처리 되는지 확인.
$ ./gradlew build
$ ./gradlew test
7. 프로젝트 build 후 jar 파일 생성확인
다운로드된 소스 디렉토리 하위에 있는 /build/libs/ 디렉토리에 jar 파일 확인
8. jar 파일 실행시키기
- 빌드된 jar 파일 다른 경로로 복사
- 현재실행되고 있는 프로세스 ID(PID)가 있는지 확인
$ pgrep -f app-0.0.1-SNAPSHOT.jar
- 실행중인 PID가 있는경우 kill 명령어로 종료 시킴 (kill -15 PID(정상종료), kill -9 PID (강제종료))
$ kill -15 PID
- jar 파일을 백그라운드에서 실행시킴
$ nohup java -jar app-0.0.1-SNAPSHOT.jar 2>&1 &
참고 - 배포스크립트 작성
https://ksshim.tistory.com/145
AWS EC2 인스턴스에 SpringBoot 프로젝트 배포 (배포 스크립트)
Spring Boot 프로젝트를 서버에 배포하기 위해서 매번 명령어로 처리하기 번거롭기 때문에 스크립트를 작성하여 스크립트 실행만으로 배포가 완료 되도록 처리 합니다. 1. 배포과정 gi clone 또는 git
ksshim.tistory.com
'AWS' 카테고리의 다른 글
AWS EC2 프리티어 메모리 부족현상 (0) | 2024.03.21 |
---|---|
Git pull, push 할 때 username, password 생략하기 (0) | 2024.03.20 |
AWS EC2 환경에서 thymeleaf 오류 수정 (Error resolving template) (0) | 2023.09.05 |
Amazon Linux 2023에서 Java 11 설치하기 (0) | 2023.09.04 |
Amazon Linux 2023에서 MySQL 명령줄 클라이언트를 설치 (0) | 2023.09.04 |