diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index dd2082f..f74a630 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -12,6 +12,7 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Set up JDK 21 uses: actions/setup-java@v4 with: @@ -21,19 +22,27 @@ jobs: - name: Build with Maven run: mvn clean install + + - name: Set up QEMU for multi-arch + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Log in to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Build & push Docker image + - name: Build & push multi arch Docker image uses: docker/build-push-action@v6 with: context: . file: ./Dockerfile push: true tags: docker.io/dewmink/embula-backend:latest + platforms: linux/amd64,linux/arm64 - name: Deploy to EC2 uses: appleboy/ssh-action@v0.1.7 @@ -47,3 +56,14 @@ jobs: docker stop embula-backend || true docker rm embula-backend || true docker run -d --name embula-backend -p 8081:8081 -e MYSQL_URL="$MYSQL_URL" -e MYSQL_USERNAME="$MYSQL_USERNAME" -e MYSQL_PASSWORD="$MYSQL_PASSWORD" -e JWT_SECRET="$JWT_SECRET" -e TOKEN_VALIDITY="$TOKEN_VALIDITY" -e REFRESH_TOKEN_VALIDITY="$REFRESH_TOKEN_VALIDITY" -e STRIPE_SECRET="$STRIPE_SECRET" -e EMAIL_USERNAME="$EMAIL_USERNAME" -e EMAIL_PASSWORD="$EMAIL_PASSWORD" -e ADMIN_EMAIL="$ADMIN_EMAIL" dewmink/embula-backend:latest + env: + MYSQL_URL: ${{ secrets.MYSQL_URL }} + MYSQL_USERNAME: ${{ secrets.DB_USERNAME }} + MYSQL_PASSWORD: ${{ secrets.DB_PASSWORD }} + JWT_SECRET: ${{ secrets.JWT_SECRET }} + TOKEN_VALIDITY: ${{ secrets.TOKEN_VALIDITY }} + REFRESH_TOKEN_VALIDITY: ${{ secrets.REFRESH_TOKEN_VALIDITY }} + STRIPE_SECRET: ${{ secrets.STRIPE_SECRET }} + EMAIL_USERNAME: ${{ secrets.EMAIL_USERNAME }} + EMAIL_PASSWORD: ${{ secrets.EMAIL_PASSWORD }} + ADMIN_EMAIL: ${{ secrets.ADMIN_EMAIL }}