들어가기 전에
프로젝트에서 Github Actions를 활용해서 빌드 및 테스트를 자동화하고 서버에 jar 파일과 shell script를 배포해서 script를 실행하기까지의 과정을 글로 남기기로 했다. 과정 중에 필요한 모든 내용을 담으려고 하다 보니 글이 지저분해지는 것 같아 준비편과 실전편을 나누기로 했고 이번 편은 다음 편을 진행하기 위해 필요한 과정을 작성했다.
목차
⚓️ 준비
1. 서버 생성
2. 서버에 Java 설치 및 환경 변수 설정
3. jar 파일 생성 설정
4. workflow 생성하는 방법
준비하기
1️⃣ 서버 생성
NCP 서버 생성부터 ssh 접속까지
들어가기 전에 그동안 AWS 서버 인스턴스 생성만 해봤는데 F-lab에서 크레딧을 제공해줘서 처음으로 NCP를 사용하게 되면서 해당 과정을 정리해봤다. ACG 설정만 조금 주의하면 아주 간단하게 이용
justsora.tistory.com
2️⃣ Java 설치 및 환경 변수 설정
1) 설치가 가능한 패키지 리스트를 업데이트한다.
sudo apt-get update
2) JDK와 JRE를 프로젝트 버전에 맞춰 설치한다.
sudo apt install openjdk-17-jdk openjdk-17-jre -y
3) 제대로 설치되었는지 확인한다.
java -version
4) 환경 변수 설정이 되어있는지 확인한다.
설정이 되어있지 않기 때문에 공백이 출력된 걸 확인할 수 있다.
echo $JAVA_HOME
5) 환경 변수 설정을 위해 먼저 jdk 위치를 파악한다.
update-alternatives --list java
6) .bashrc 파일에 환경 변수를 설정한다.
nano ~/.bashrc
아래와 같이 입력해주면 된다.
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
그리고 완료된 후에는 꼭 수정 사항을 반영해주는 명령어를 실행하자!
source ~/.bashrc
7) 다시 환경 변수 설정이 되어있는지 확인한다.
3️⃣ jar 파일 생성 설정
프로젝트를 빌드하면 두 개의 jar 파일이 생긴다.
- prefix.plain.jar : 프로그램 실행에 필요한 의존성이 포함되지 않은 jar 파일
- prefix.jar : 프로그램 실행을 위한 jar 파일
우리는 프로그램 실행을 위한 jar 파일이 필요하기 때문에 plain.jar 파일이 생성되지 않도록 아래와 같은 설정을 해준다.
# build.gradle
jar {
enabled = false
}
4️⃣ workflow 생성하는 방법
GIthub Repository에서 Actions 탭을 클릭하면 workflow를 선택할 수 있다. 나는 Java with Gradle을 선택해서 진행했다.
그러면 프로젝트 내의 ./github/workflows 하위에 설정해야 할 yml 파일 템플릿이 화면에 뜨게 되는데 이때 프로젝트 스펙에 맞게 내용을 작성하면 된다. IDE 내에서 작업하고 싶다면 템플릿 내용을 복사한 후 ./github/workflows 디렉토리를 생성해서 작업하면 된다. 대신 스펠링이 틀리지 않도록 주의하자!
'노트 > F-lab' 카테고리의 다른 글
RabbitMQ를 활용한 메시지 처리 방식 구현: 설치부터 적용까지 (0) | 2023.06.17 |
---|---|
Github Actions: CI/CD 구축 (feat.shell script) - 실전편 (2) | 2023.06.04 |
NCP 서버 생성부터 ssh 접속까지 (2) | 2023.05.29 |
Spring REST Docs를 선택한 이유 (0) | 2023.04.08 |
Lombok을 사용하지 말라고? (0) | 2023.03.25 |