Builds VM instance on Azure provisioned by ansible. 2 entry points exist:
- Jenkinsfile - configured for use with @wahlax/ansible-ci
- Local ansible pipeline - use ansible-vault for credentials
Example using local ansible pipeline and vault to supply Azure credentials to terraform
ansible-playbook -i inventory.ini pipeline.yml -e "ci_work_dir=`pwd`" -e "@vault/secrets.yml" --vault-password-file vault/password-file
azure-client-id
- client id for azure provisioningazure-client-secret
- client secret for azure provisioningazure-subscription-id
- subscription id for azure provisioningazure-tenant-id
- tenant for azure provisioning
Jenkinsfile
- entry point when used with jenkins cipipeline.yml
- entry point for ansible (jenkins alternative)terraform-env.shl
- sets env for terraforminventory.ini
- defines localhost only right nowmain.tf
- aws infra definition in terraformprovisioner.yml
- ansible provisioner used by terraformrequirements.yml
- dependencies of ansible provisioner
- Ansible provisioner failed to connect immediately on azure with dynamic ip. Might prefer building inventory from terraform output and provision in next play.