Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Configure Image Factory VM | |
on: | |
push: | |
paths: | |
- ".github/workflows/ansible-configure-if-vm.yml" | |
- "ansible/**" | |
workflow_dispatch: | |
jobs: | |
configure-vm: | |
runs-on: ubuntu-latest | |
env: | |
JUMPHOST_IP: ${{ secrets.JUMPHOST_IP }} | |
RUNNER_HOST_IP: ${{ secrets.RUNNER_HOST_IP }} | |
SSH_KEY: ${{ secrets.SSH_KEY }} | |
REGISTRY: ${{ secrets.REGISTRY_PRIVATE_ENDPOINT }} | |
ACR_USERNAME: ${{ secrets.ACR_USERNAME }} | |
ACR_PASSWORD: ${{ secrets.ACR_PASSWORD }} | |
GH_PAT_TOKEN: ${{ secrets.GH_PAT_TOKEN }} | |
GH_OWNER: ${{ vars.GH_OWNER }} | |
GH_REPO: ${{ vars.GH_REPO }} | |
ACR_RUNNER_IMAGE_NAME: ${{ vars.ACR_RUNNER_IMAGE_NAME }} | |
ANSIBLE_VERSION: 2.17.4 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Template Ansible private key file | |
uses: cuchi/[email protected] | |
with: | |
template: ansible/templates/ansible_ssh_key.j2 | |
output_file: ansible/ansible_ssh_key | |
- name: Template Ansible vars file | |
uses: cuchi/[email protected] | |
with: | |
template: ansible/templates/group_vars_all.yml.j2 | |
output_file: ansible/group_vars/all.yml | |
- name: Template Ansible inventory | |
uses: cuchi/[email protected] | |
with: | |
template: ansible/templates/inventory.ini.j2 | |
output_file: ansible/inventory.ini | |
- name: Template Ansible private key file | |
uses: cuchi/[email protected] | |
with: | |
template: ansible/templates/ansible_ssh_key.j2 | |
output_file: ansible/ansible_ssh_key | |
- name: Install Ansible | |
run: | | |
pip3 install ansible | |
ansible-playbook --version | |
- name: Configure VM with ansible | |
run: | | |
cd ansible | |
cat inventory.ini | |
eval "$(ssh-agent -s)" | |
chmod 600 ansible_ssh_key | |
ssh-add ansible_ssh_key | |
ssh_command="ssh -o StrictHostKeyChecking=no azureadmin@${JUMPHOST_IP} 'ssh -o StrictHostKeyChecking=no azureadmin@${RUNNER_HOST_IP} whoami'" | |
eval $ssh_command | |
ansible-playbook configure-image-factory-vm.yml |