Files
Civ/.github/workflows/ansible_update_server.yml
2025-02-11 20:08:46 +00:00

50 lines
1.4 KiB
YAML

name: 🏗️ Ansible | Update Server
on:
workflow_dispatch:
inputs:
environment:
description: 'Environment to Update'
type: environment
required: true
default: Test
jobs:
update-server:
runs-on: ubuntu-22.04
environment: ${{inputs.environment}}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: ☕ Setup Java
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: 'gradle'
- name: 🐘 Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: 🐘 Gradle Build
run: CI=true ./gradlew :ansible:build --parallel --no-daemon
- name: Inject secrets
run: 'echo "$SECRETS_YML" > variables/secrets.yml'
shell: bash
working-directory: ./ansible
env:
SECRETS_YML: ${{secrets.SECRETS_YML}}
SUDO_PASSWORD: ${{secrets.SUDO_PASSWORD}}
- name: Update Server
uses: dawidd6/action-ansible-playbook@v2
with:
playbook: ansible/playbooks/update-server.yml
requirements: ansible/requirements.yml
key: ${{secrets.SSH_PRIVATE_KEY}}
known_hosts: ${{secrets.SSH_KNOWN_HOSTS}}
options: |
--inventory "./ansible/inventories/civmc-${{inputs.environment}}.yml"
-e "ansible_become_password=${{secrets.SUDO_PASSWORD}}"