mirror of
https://github.com/AsgardEternal/Ubuntu-Ansible-Setup.git
synced 2024-09-28 19:54:23 -05:00
62 lines
1.9 KiB
YAML
62 lines
1.9 KiB
YAML
|
name: Start or Restart SquadJS Service
|
||
|
|
||
|
on:
|
||
|
workflow_dispatch:
|
||
|
inputs:
|
||
|
squad_server:
|
||
|
type: choice
|
||
|
description: Which SquadJS service, or if all SquadJS services should be restarted
|
||
|
required: true
|
||
|
options:
|
||
|
- ALL
|
||
|
- vanilla
|
||
|
- mee-french
|
||
|
|
||
|
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__
|
||
|
|
||
|
- name: Restart or Start All SquadJS Services
|
||
|
if: "${{ inputs.squad_server == 'ALL' }}"
|
||
|
run: |
|
||
|
ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook --private-key="${HOME}/.ssh/key" playbook.yml --tags=squad --extra-vars 'squadjs_restart_all=True' --extra-vars 'squad_deploy_configs=False'
|
||
|
|
||
|
- name: Restart or Start Specific Server
|
||
|
if: "${{ inputs.squad_server != 'ALL' }}"
|
||
|
run: |
|
||
|
ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook --private-key="${HOME}/.ssh/key" playbook.yml --tags=squad --extra-vars 'squadjs_to_restart="${{ inputs.squad_server }}"' --extra-vars 'squad_deploy_configs=False'
|