diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 0000000..e56a20b --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,60 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Docker Image CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +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 damho/batch . + + # 이미지 띄우기 + - name: push Docker image + run: docker push damho/batch + + # 쉘 스크립트 실행 + - name: execute shell script + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.SSH_IP }} + username: ${{ secrets.SSH_ID }} + key: ${{ secrets.SSH_KEY }} + port: ${{ secrets.SSH_PORT }} + script_stop: true + script: "./startup.sh"