Skip to content

Deploy to production #21

Deploy to production

Deploy to production #21

Workflow file for this run

name: Deploy to production
on:
workflow_dispatch:
workflow_run:
workflows:
- Gradle build
branches:
- test/actions
- release
types:
- completed
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: gomokubot-build-results
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ github.token }}
- name: Batch build results
run: |
mkdir -p discord/build/libs
mv discord-*-all.jar discord/build/libs/
- name: Build Docker Images
run: |
cd discord
docker build -t gomokubot-discord .
cd ..
- name: Save Docker Images
run: |
mkdir dockerfiles
docker save gomokubot-discord > dockerfiles/gomokubot-discord.tar
- name: Upload Docker Image
uses: pressidium/lftp-mirror-action@v1
with:
localDir: ./dockerfiles
remoteDir: ./GomokuBot/dockerfiles
host: app.do1ph.in
user: ${{ secrets.SFTP_USER_NAME }}
pass: ${{ secrets.SFTP_PASSWORD }}
- name: Deploy to server
uses: appleboy/ssh-action@v1.0.3
with:
host: app.do1ph.in
username: ${{ secrets.SSH_USER_NAME }}
password: ${{ secrets.SSH_PASSWORD }}
script: |
cd GomokuBot
git pull origin release
docker load < dockerfiles/gomokubot-discord.tar
docker compose pull
docker compose up -d