From dabbd8fd0fe863b8e80db28f055fbac17f061332 Mon Sep 17 00:00:00 2001 From: Fiat_lux <50399586+hyeonjaez@users.noreply.github.com> Date: Thu, 15 Feb 2024 12:26:54 +0900 Subject: [PATCH] docs: Create maven.yml --- .github/workflows/maven.yml | 63 +++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/workflows/maven.yml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 00000000..e517d151 --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,63 @@ +# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created +# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path + +name: Docker Image CI + +on: + push: + branches: [ "main", "dev" ] + pull_request: + branches: [ "main", "dev" ] + +jobs: + + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + +# jdk 11 세팅 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + cache: maven + +# 패키징 + - name: Build with Maven + run: mvn -B package --file pom.xml + +# 도커 로그인 + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + +# 도커 이미지 빌드 + - name: Build the Docker image + + run: docker build -t jaehyeon08/my-books-front . + +# 이미지 띄우기 + - name: push Docker image + run: docker push jaehyeon08/my-books-front + + +# 쉘 스크립트 실행 + - name: execute shell script + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.SSH_IP }} # 인스턴스 플로팅 ip + username: ${{ secrets.SSH_ID }} # user Id + key: ${{ secrets.SSH_KEY }} # user 개인키 + port: ${{ secrets.SSH_PORT }} # ssh 포트 = 22 + script_stop: true + script: "./startup.sh" + +# SonarQube 실행 + - name: execute SonarQube + run: mvn sonar:sonar -Dsonar.projectKey=my-books-front -Dsonar.host.url=${{secrets.SONARQUBE_URL}} -Dsonar.login=${{secrets.SONARQUBE_LOGIN}}