2023-01-28 01:46:33 -06:00
|
|
|
name: Start or Restart Squad Server
|
2023-01-28 01:41:25 -06:00
|
|
|
|
|
|
|
on:
|
|
|
|
workflow_dispatch:
|
2023-01-28 02:26:36 -06:00
|
|
|
inputs:
|
|
|
|
squad_server:
|
|
|
|
type: choice
|
|
|
|
description: Which server, or if all servers should be restarted
|
|
|
|
required: true
|
|
|
|
options:
|
|
|
|
- ALL
|
|
|
|
- vanilla
|
|
|
|
- mee-french
|
2023-01-28 01:41:25 -06:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
|
|
|
build-image:
|
|
|
|
uses: ./.github/workflows/build-docker.yml
|
|
|
|
secrets: inherit
|
|
|
|
|
|
|
|
deploy:
|
|
|
|
runs-on: self-hosted
|
|
|
|
needs:
|
|
|
|
- build-image
|
|
|
|
container:
|
|
|
|
image: ${{ vars.DOCKER_REGISTRY_URL }}/${{ vars.ansible_container }}:latest
|
|
|
|
credentials:
|
|
|
|
username: "${{ secrets.DOCKER_REGISTRY_USER }}"
|
|
|
|
password: "${{ secrets.DOCKER_REGISTRY_PASSWORD }}"
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Inject Private Key
|
|
|
|
run: |
|
|
|
|
mkdir -p "${HOME}/.ssh"
|
|
|
|
|
|
|
|
cat << __EOF__ > "${HOME}/.ssh/key"
|
|
|
|
${{ secrets.ansible_ssh_key }}
|
|
|
|
__EOF__
|
|
|
|
|
|
|
|
chmod 0600 "${HOME}/.ssh/key"
|
|
|
|
|
|
|
|
cat << __EOF__ > "${HOME}/.ssh/config"
|
|
|
|
Host *
|
|
|
|
User ${{ vars.ssh_user }}
|
|
|
|
StrictHostKeyChecking no
|
|
|
|
|
|
|
|
Host ${{ vars.server_host }}
|
|
|
|
HostName ${{ vars.server_host }}
|
|
|
|
User ${{ vars.ssh_user }}
|
|
|
|
IdentityFile ~/.ssh/key
|
|
|
|
__EOF__
|
|
|
|
|
2023-01-28 02:26:36 -06:00
|
|
|
- name: Restart or Start All Servers
|
|
|
|
if: "${{ inputs.squad_server == 'ALL' }}"
|
2023-01-28 01:41:25 -06:00
|
|
|
run: |
|
2023-02-04 15:47:40 -06:00
|
|
|
ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook --private-key="${HOME}/.ssh/key" playbook.yml --tags=squad --extra-vars 'squad_restart_all=True' --extra-vars 'squad_deploy_configs=False'
|
2023-01-28 01:41:25 -06:00
|
|
|
|
2023-01-28 02:26:36 -06:00
|
|
|
- name: Restart or Start Specific Server
|
|
|
|
if: "${{ inputs.squad_server != 'ALL' }}"
|
2023-01-28 01:41:25 -06:00
|
|
|
run: |
|
2023-02-04 15:47:40 -06:00
|
|
|
ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook --private-key="${HOME}/.ssh/key" playbook.yml --tags=squad --extra-vars 'squad_server_to_restart="${{ inputs.squad_server }}"' --extra-vars 'squad_deploy_configs=False'
|