Skip to content
This repository has been archived by the owner on Aug 22, 2024. It is now read-only.

feat

feat #27

Workflow file for this run

name: Deploy to server
on:
push:
branches:
- main
# on:
# release:
# types: [published]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
shell: bash
- name: Add SSH known hosts
run: ssh-keyscan ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts
shell: bash
- name: Copy files to server
run: scp -r docker-compose.yml ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:~
shell: bash
- name: Save secrets to .env file
run: |
ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "cat <<EOF > ~/.env
EULA=${{ secrets.EULA }}
VERSION=${{ secrets.VERSION }}
MEMORY=${{ secrets.MEMORY }}
NEOFORGE_VERSION=${{ secrets.NEOFORGE_VERSION }}
MOD_PLATFORM=${{ secrets.MOD_PLATFORM }}
TYPE=${{ secrets.TYPE }}
CF_PAGE_URL=${{ secrets.CF_PAGE_URL }}
CF_FORCE_SYNCHRONIZE=${{ secrets.CF_FORCE_SYNCHRONIZE }}
CF_FORCE_REINSTALL_MODLOADER=${{ secrets.CF_FORCE_REINSTALL_MODLOADER }}
CF_OVERRIDES_SKIP_EXISTING=${{ secrets.CF_OVERRIDES_SKIP_EXISTING }}
DIFFICULTY=${{ secrets.DIFFICULTY }}
OPS=${{ secrets.OPS }}
MAX_WORLD_SIZE=${{ secrets.MAX_WORLD_SIZE }}
ANNOUNCE_PLAYER_ACHIEVEMENTS=${{ secrets.ANNOUNCE_PLAYER_ACHIEVEMENTS }}
SPAWN_PROTECTION=${{ secrets.SPAWN_PROTECTION }}
SEED=${{ secrets.SEED }}
EOF"
shell: bash
- name: add curseforge secret
run: |
ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "echo 'CF_API_KEY=${secrets.CF_API_KEY#*\/}' >> ~/.env"
- name: Launch Docker Compose
run: ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "cd ~ && docker-compose up -d"
shell: bash
- name: Discord Notification
if: success()
uses: discord-actions/message@v2
with:
webhookUrl: ${{ secrets.DISCORD_RELEASES_WEBHOOK }}
message: |
📢 **New Release!**
Name: ${{ github.event.release.name }}
Tag: ${{ github.event.release.tag_name }}
Changelog:
${{ github.event.release.body }}
[View Release](https://github.com/${{ github.repository }}/releases/tag/${{ github.event.release.tag_name }})