Ubuntu-Ansible-Setup/.github/workflows/start-squad.yml

62 lines
1.9 KiB
YAML
Raw Normal View History

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'