Build #24
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# repository checkout | |
- uses: actions/checkout@v2 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 17 | |
- name: Run Checkstyle | |
run: ./gradlew checkstyleMain checkstyleTest | |
- name: Make firebase-adminsdk.json | |
run: | | |
touch src/main/resources/timeet-firebase-adminsdk.json | |
echo "${{ secrets.FIREBASE_ADMINSDK }}" | base64 --decode > src/main/resources/timeet-firebase-adminsdk.json | |
- name: Make application-prod.yml | |
run: | | |
touch src/main/resources/application-prod.yml | |
echo "${{ secrets.APPLICATION_PROD }}" | base64 --decode > src/main/resources/application-prod.yml | |
- name: Make application-test.yml | |
run: | | |
touch src/main/resources/application-test.yml | |
echo "${{ secrets.APPLICATION_TEST }}" | base64 --decode > src/main/resources/application-test.yml | |
- name: Make application-local.yml | |
run: | | |
touch src/main/resources/application-local.yml | |
echo "${{ secrets.APPLICATION_LOCAL }}" | base64 --decode > src/main/resources/application-local.yml | |
- name: Set output | |
id: vars | |
run: echo ::set-output name=tag::${GITHUB_REF#refs/*/} | |
- name: Build and analyze | |
run: ./gradlew clean build --info | |
- name: Docker Setup QEMU | |
uses: docker/[email protected] | |
- name: Docker Setup Buildx | |
uses: docker/[email protected] | |
- name: Docker Login | |
uses: docker/[email protected] | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_TOKEN }} | |
- name: Build and Push Docker Image | |
run: | | |
JAR_FILE=$(ls ./build/libs/*.jar | head -n 1) | |
docker buildx build --platform linux/amd64,linux/arm64 \ | |
-t syw5141/dnd-10th-2-backend:latest \ | |
--build-arg JAR_FILE="$JAR_FILE" \ | |
--push . | |
deploy: | |
needs: build | |
name: Deploy | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set output | |
id: vars | |
run: echo ::set-output name=tag::${GITHUB_REF#refs/*/} | |
- name: Deploy on rpi4 server using docker | |
uses: appleboy/[email protected] | |
with: | |
host: ${{ secrets.HOST }} | |
username: ${{ secrets.USERNAME }} | |
password: ${{ secrets.PASSWORD }} | |
port: ${{ secrets.PORT }} | |
script: | | |
cd ~/dnd-10th-2-backend | |
docker-compose pull | |
docker-compose up --force-recreate --build -d | |
docker image prune -f |