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

feat

feat #40

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 local .env file
run: |
echo "EULA=${{ secrets.EULA }}" >> .env
echo "VERSION=${{ secrets.VERSION }}" >> .env
echo "MEMORY=${{ secrets.MEMORY }}" >> .env
echo "NEOFORGE_VERSION=${{ secrets.NEOFORGE_VERSION }}" >> .env
echo "MOD_PLATFORM=${{ secrets.MOD_PLATFORM }}" >> .env
echo "TYPE=${{ secrets.TYPE }}" >> .env
echo "CF_PAGE_URL=${{ secrets.CF_PAGE_URL }}" >> .env
echo "CF_FORCE_SYNCHRONIZE=${{ secrets.CF_FORCE_SYNCHRONIZE }}" >> .env
echo "CF_FORCE_REINSTALL_MODLOADER=${{ secrets.CF_FORCE_REINSTALL_MODLOADER }}" >> .env
echo "CF_OVERRIDES_SKIP_EXISTING=${{ secrets.CF_OVERRIDES_SKIP_EXISTING }}" >> .env
echo "DIFFICULTY=${{ secrets.DIFFICULTY }}" >> .env
echo "OPS=${{ secrets.OPS }}" >> .env
echo "MAX_WORLD_SIZE=${{ secrets.MAX_WORLD_SIZE }}" >> .env
echo "ANNOUNCE_PLAYER_ACHIEVEMENTS=${{ secrets.ANNOUNCE_PLAYER_ACHIEVEMENTS }}" >> .env
echo "SPAWN_PROTECTION=${{ secrets.SPAWN_PROTECTION }}" >> .env
echo "SEED=${{ secrets.SEED }}" >> .env
key=$(
cat <<"EOF"
${{ secrets.CF_API_KEY }}
EOF
)
echo "CF_API_KEY=$key" >> .env
- name: Copy .env file to remote server
run: scp -o StrictHostKeyChecking=no .env ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:~/.env
shell: bash
- 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 }})