./be/src/main/resources/application.properties - run: cat ./be/src/main/resources/application.properties - name: Build with Gradle run: | chmod +x gradlew ./gradlew clean build -x test working-directory: ${{ env.working-directory }} - name: docker build and push run: | docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} docker build --platform amd64 --build-arg DEPEND"> ./be/src/main/resources/application.properties - run: cat ./be/src/main/resources/application.properties - name: Build with Gradle run: | chmod +x gradlew ./gradlew clean build -x test working-directory: ${{ env.working-directory }} - name: docker build and push run: | docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} docker build --platform amd64 --build-arg DEPEND"> ./be/src/main/resources/application.properties - run: cat ./be/src/main/resources/application.properties - name: Build with Gradle run: | chmod +x gradlew ./gradlew clean build -x test working-directory: ${{ env.working-directory }} - name: docker build and push run: | docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} docker build --platform amd64 --build-arg DEPEND">

name: Java CI with Gradle

on:
  push:
    branches: [ "release-be" ]
    

env:
  working-directory: ./be

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest
    steps:

    - name: checkout
      uses: actions/checkout@v3

    - name: Set up JDK 11
      uses: actions/setup-java@v3
      with:
        java-version: '11'
        distribution: 'adopt'

    - uses: actions/checkout@v3
    - run: touch ./be/src/main/resources/application.properties
    - run: echo "${{ secrets.APPLICATION_PROPERTIES }}" > ./be/src/main/resources/application.properties
    - run: cat ./be/src/main/resources/application.properties
     

    - name: Build with Gradle
      run: |
        chmod +x gradlew
        ./gradlew clean build -x test
      working-directory: ${{ env.working-directory }}

    - name: docker build and push
      run: |
        docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
        docker build --platform amd64 --build-arg DEPENDENCY=build/dependency -f ${{ env.working-directory }}/Dockerfile -t ${{secrets.DOCKER_USERNAME}}/second-hand .
        docker push ${{ secrets.DOCKER_USERNAME }}/second-hand

    - name: executing remote ssh commands using password
      uses: appleboy/ssh-action@master
      with:
        host: ${{ secrets.HOST }}
        username: ubuntu
        key: ${{ secrets.KEY }}
        script: |
          sudo docker rm -f $(docker ps -qa)
          sudo docker pull ${{ secrets.DOCKER_USERNAME }}/second-hand 
          docker compose up -d
          sudo docker image prune -a -f