본문 바로가기
DevOps

GitLab CI/CD 환경 구성 3 : .gitlab-ci.yml 작성하기(feat. gradle)

by 로또뚜이 2022. 7. 22.
반응형

앞선 포스팅에선 CI/CD NPM build 및 배포 환경을 구성하였습니다.

GitLab CI/CD 환경 구성 2 : .gitlab-ci.yml 작성하기(feat. npm) (tistory.com)

 

GitLab CI/CD 환경 구성 2 : .gitlab-ci.yml 작성하기(feat. npm)

앞서 CI/CD환경을 구성하기 위해 서버에 Gitlab runner 설치와 설정을 마쳤습니다. https://playit.tistory.com/3 GitLab CI/CD 환경 구성하기 1 : Gitlab Runner 설치하기 안녕하세요. 오늘은 CI/CD 환경 구축을..

playit.tistory.com

이번에 해볼 것은 2. Gradle을 활용한 빌드 및 배포 작업 설정입니다.

1. NPM build 및 배포 환경 

2. Gradle build 및 배포 환경 

설정 작업을 진행해보도록 하겠습니다.

 

Gitlab CI/CD Concept Image

Gradle Build 환경 CI/CD 테스트

gradle cicd gitlab-ci.yml

[작업 과정]

1. 개발서버(리눅스)에 Gradle 설치
   다운로드 : wget https://services.gradle.org/distributions/gradle-5.4.1-bin.zip -P /tmp
   압축해제 : sudo unzip -d /opt/gradle /tmp/gradle-5.4.1-bin.zip
2. Gradle 환경설정 작업 
    그래들 홈설정
     export GRADLE_HOME=/opt/gradle/gradle-5.4.1
     export PATH=${GRADLE_HOME}/bin:${PATH}

 

※ 작업 중 시행착오 

  • 톰캣 서버 PID 등록되도록 하여 PID로 킬(shutdown.sh으로 종료되지 않음)
  • startup.sh 마지막 exec "$PRGDIR"/"$EXECUTABLE" start "$@" 문구 위에 아래 문구 추가
export CATALINA_PID=/usr/local/lib/apache-tomcat-8.5.57/bin/catalina.pid
  • shutdown.sh 마지막 exec "$PRGDIR"/"$EXECUTABLE" stop "$@" 문구 위에 아래 문구 추가
export CATALINA_PID=/usr/local/lib/apache-tomcat-8.5.57/bin/catalina.pid
for line in $CATALINA_PID
do
echo "$CATALINA_PID"
done
echo `kill -9 $line`
  • 그래들 빌드시 자바 버전 못찾음(서버에 jre만 설치되어 있었음)
    /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-1.el8_3.x86_64/jre contains a valid JDK installation
    /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-1.el8_3.x86_64/jre
  • zulu 자바8 설치
  • /opt/gradle/gradle-5.4.1 gradle 파일 자바경로 직접 지정 
    JAVA_HOME=/usr/lib/jvm/zulu8

위 설정으로 생성한 파이프라인이 아래 처럼 성공적으로 마무리 되었습니다.

이것으로 gitlab ci/cd 설정에 관한 포스팅을 마치겠습니다.

 

※ linux gradle 설치 참고

https://jjeongil.tistory.com/1435

 

CentOS 7 : Gradle 설치 방법, 예제, 명령어

Gradle은 주로 Java 프로젝트에 사용되는 오픈 소스 빌드 자동화 시스템입니다. 그것은 앤트와 메이븐의 가장 좋은 특징들을 결합합니다. 스크립팅에 XML을 사용하는 이전 버전과 달리 Gradle은 Java

jjeongil.tistory.com

※ 톰캣 시작시 pid 설정하여 해당 pid로 kill 하기 설정 부분 참고(톰캣 셧다운이 안먹어서 조치)

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=mssung0517&logNo=221199572600

 

톰캣 - shutdown이 안될때

톰캣을 사용하다가 가끔 shudown.sh 명령어를 했음에도 불구하고 프로세스가 살아있는 경우가 있다. kill ...

blog.naver.com

반응형

댓글