Jenkins → voda_back_build_test → 구성 → Build Steps
JAVA
| /home/ubuntu/jenkins_home/workspace/voda_back_build_test/backend/java
cd /var/jenkins_home/workspace/voda_back_build_test
cp /var/jenkins_home/workspace/yml/application-db.yml backend/java/src/main/resources/
cp /var/jenkins_home/workspace/yml/application-oauth.yml backend/java/src/main/resources/
cd /var/jenkins_home/workspace/voda_back_build_test/backend/java
chmod +x gradlew
./gradlew clean build
cp /var/jenkins_home/workspace/voda_back_build_test/backend/java/build/libs/voda-0.0.1-SNAPSHOT.jar /var/jenkins_home/workspace/deploy_test/back_java
- /var/jenkins_home/workspace/voda_back_build_test 디렉토리로 이동.
- /var/jenkins_home/workspace/yml/application-db.yml 파일을 backend/java/src/main/resources/ 디렉토리로 복사.
- /var/jenkins_home/workspace/yml/application-oauth.yml 파일을 backend/java/src/main/resources/ 디렉토리로 복사.
- backend/java 디렉토리로 이동.
- gradlew 파일에 실행 권한을 부여.
- ./gradlew clean build 명령어를 실행하여 Java 프로젝트를 빌드.
- 빌드된 voda-0.0.1-SNAPSHOT.jar 파일을 /var/jenkins_home/workspace/deploy_test/back_java 디렉토리로 복사.
이 스크립트는 Java 언어로 작성된 백엔드 애플리케이션을 빌드하고, 빌드된 바이너리 파일을 다른 위치로 복사하는 과정을 수행한다.
* application-db.yml과 application-oauth.yml에는 깃랩에 올라가면 안되는 정보들을 담고 있기 때문에 서버에 해당 .yml 파일들을 보관하고 있다. 즉, 애플리케이션에서 사용되는 데이터베이스와 인증 서비스에 대한 설정 파일도 복사하여 애플리케이션에 필요한 환경을 구성
FRONT
| /home/ubuntu/jenkins_home/workspace/voda_back_build_test/backend/frontend
cd /var/jenkins_home/workspace/voda_back_build_test/frontend
cp /var/jenkins_home/workspace/yml/front.env /var/jenkins_home/workspace/voda_back_build_test/frontend/.env
npm install
npm run build
cp -r /var/jenkins_home/workspace/voda_back_build_test/frontend/dist /var/jenkins_home/workspace/deploy_test/front_vue
- /var/jenkins_home/workspace/voda_back_build_test/frontend 디렉토리로 이동.
- /var/jenkins_home/workspace/yml/front.env 파일을 .env 파일로 복사.
- npm install 명령어를 실행하여 필요한 라이브러리를 설치.
- npm run build 명령어를 실행하여 Vue.js 프로젝트를 빌드.
- 빌드된 파일을 /var/jenkins_home/workspace/deploy_test/front_vue 디렉토리로 복사.
즉, 이 스크립트는 Vue.js로 작성된 프론트엔드 애플리케이션을 빌드하고, 빌드된 파일을 다른 위치로 복사하는 과정을 수행하는 것이다.
* .env 파일은 깃랩에 올라가면 안되는 정보들을 담고 있기 때문에 서버에 해당 .env 파일을 보관하고 있다. 즉, 프론트엔드 애플리케이션에서 사용되는 환경 변수 설정 파일도 복사하여 애플리케이션에 필요한 환경을 구성.
PYTHON
| /home/ubuntu/jenkins_home/workspace/voda_back_build_test/backend/python
cp -r /var/jenkins_home/workspace/voda_back_build_test/backend/python/ /var/jenkins_home/workspace/deploy_python/
cp /var/jenkins_home/workspace/yml/python.env /var/jenkins_home/workspace/deploy_python/python/.env
if [ ! -d "/var/jenkins_home/workspace/deploy_python/python/experiments/emotion_text/weight" ]
then
mkdir -p /var/jenkins_home/workspace/deploy_python/python/experiments/emotion_text/weight
mkdir -p /var/jenkins_home/workspace/deploy_python/python/voice_file
fi
cp /var/jenkins_home/workspace/model_weight/2_acc_7_merge_emotion.pt /var/jenkins_home/workspace/deploy_python/python/experiments/emotion_text/weight/
cp /var/jenkins_home/workspace/model_weight/sermodel.h5 /var/jenkins_home/workspace/deploy_python/python/ser/
- /var/jenkins_home/workspace/voda_back_build_test/backend/python/ 디렉토리를 /var/jenkins_home/workspace/deploy_python/ 디렉토리로 복사.
- /var/jenkins_home/workspace/yml/python.env 파일을 /var/jenkins_home/workspace/deploy_python/python/.env 경로로 복사.
- /var/jenkins_home/workspace/deploy_python/python/experiments/emotion_text/weight 디렉토리가 존재하지 않으면, 해당 디렉토리와 /var/jenkins_home/workspace/deploy_python/python/voice_file 디렉토리를 생성.
- /var/jenkins_home/workspace/model_weight/2_acc_7_merge_emotion.pt 파일을 /var/jenkins_home/workspace/deploy_python/python/experiments/emotion_text/weight/ 경로로 복사.
- /var/jenkins_home/workspace/model_weight/sermodel.h5 파일을 /var/jenkins_home/workspace/deploy_python/python/ser/ 경로로 복사.
이 스크립트는 Python으로 작성된 백엔드 애플리케이션에 필요한 파일과 환경을 구성하고, 해당 파일들을 다른 위치로 복사하는 과정을 수행한다. 감성 분석 모델을 포함하는 2_acc_7_merge_emotion.pt 파일과 음성 인식 모델을 포함하는 sermodel.h5 파일을 복사하고, 이 모델들을 사용하는데 필요한 디렉토리를 생성한다.
필자의 프로젝트는 음성 감정을 추출하는 서비스이기에 해당 파일들이 필요로 한다.
'기타 > 인프라 구축과정' 카테고리의 다른 글
[Infra] 7. Blue-Green 무중단 배포(1) - Voda Project (0) | 2023.04.04 |
---|---|
[Infra] 6. 컨테이너 구동 - Voda Project (0) | 2023.04.04 |
[Infra] 4. MariaDB 설정 - Voda Project (0) | 2023.04.04 |
[Infra] 3. https 설정 (Cerbot) - Voda Project (0) | 2023.04.04 |
[Infra] 2. 젠킨스 설정 - Voda Project (0) | 2023.04.04 |
댓글