github.com/paybyphone/terraform@v0.9.5-0.20170613192930-9706042ddd51/examples/azure-vm-from-user-image/deploy.ci.sh (about) 1 #!/bin/bash 2 3 set -o errexit -o nounset 4 5 docker run --rm -it \ 6 -e ARM_CLIENT_ID \ 7 -e ARM_CLIENT_SECRET \ 8 -e ARM_SUBSCRIPTION_ID \ 9 -e ARM_TENANT_ID \ 10 -v $(pwd):/data \ 11 --workdir=/data \ 12 --entrypoint "/bin/sh" \ 13 hashicorp/terraform:light \ 14 -c "/bin/terraform get; \ 15 /bin/terraform validate; \ 16 /bin/terraform plan -out=out.tfplan -var hostname=$KEY -var resource_group=$EXISTING_RESOURCE_GROUP -var admin_username=$KEY -var admin_password=$PASSWORD -var image_uri=$EXISTING_IMAGE_URI -var storage_account_name=$EXISTING_STORAGE_ACCOUNT_NAME; \ 17 /bin/terraform apply out.tfplan; \ 18 /bin/terraform show;" 19 20 docker run --rm -it \ 21 azuresdk/azure-cli-python \ 22 sh -c "az login --service-principal -u $ARM_CLIENT_ID -p $ARM_CLIENT_SECRET --tenant $ARM_TENANT_ID > /dev/null; \ 23 az vm show --name $KEY --resource-group permanent" 24 25 # cleanup deployed azure resources via terraform 26 docker run --rm -it \ 27 -e ARM_CLIENT_ID \ 28 -e ARM_CLIENT_SECRET \ 29 -e ARM_SUBSCRIPTION_ID \ 30 -e ARM_TENANT_ID \ 31 -v $(pwd):/data \ 32 --workdir=/data \ 33 --entrypoint "/bin/sh" \ 34 hashicorp/terraform:light \ 35 -c "/bin/terraform destroy -force \ 36 -var hostname=$KEY \ 37 -var resource_group=$EXISTING_RESOURCE_GROUP \ 38 -var admin_username=$KEY \ 39 -var admin_password=$PASSWORD \ 40 -var image_uri=$EXISTING_IMAGE_URI \ 41 -var storage_account_name=$EXISTING_STORAGE_ACCOUNT_NAME \ 42 -target=azurerm_virtual_machine.vm \ 43 -target=azurerm_network_interface.nic \ 44 -target=azurerm_virtual_network.vnet \ 45 -target=azurerm_public_ip.pip;"