Skip to content

feat: news, fix: todo #7

feat: news, fix: todo

feat: news, fix: todo #7

Workflow file for this run

name: Deploy Discord Bot
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/platon-discord-bot:latest
- name: Deploy to Server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER_HOST }}
port: 1022
username: ${{ secrets.SERVER_USERNAME }}
password: ${{ secrets.SERVER_PASSWORD }}
script_stop: true
timeout: 180s
command_timeout: 60s
script: |
mkdir -p /home/${{ secrets.SERVER_USERNAME }}/platon-discord-bot
cd /home/${{ secrets.SERVER_USERNAME }}/platon-discord-bot
echo "version: '3.8'" > docker-compose.yml
echo "" >> docker-compose.yml
echo "services:" >> docker-compose.yml
echo " bot:" >> docker-compose.yml
echo " image: ${{ secrets.DOCKER_USERNAME }}/platon-discord-bot:latest" >> docker-compose.yml
echo " container_name: platon-discord-bot" >> docker-compose.yml
echo " environment:" >> docker-compose.yml
echo " - BOT_TOKEN=\${BOT_TOKEN}" >> docker-compose.yml
echo " - GEMINI_API_KEY=\${GEMINI_API_KEY}" >> docker-compose.yml
echo " restart: unless-stopped" >> docker-compose.yml
echo "BOT_TOKEN=${{ secrets.BOT_TOKEN }}" > .env
echo "GEMINI_API_KEY=${{ secrets.GEMINI_API_KEY }}" >> .env
docker-compose pull
docker-compose down
docker-compose up -d
docker image prune -af
docker container prune -f