On behalf of HashiCorp and Microsoft, I’m excited to announce the discharge of Azure DevOps Provider 0.0.1 for Terraform. With this supplier, it is possible for you to to handle Azure DevOps assets like tasks, CI/CD pipelines, and construct insurance policies by means of Terraform.
Lots of our prospects have been transferring in the direction of Infrastructure as Code (IaC) instruments comparable to Terraform to standardize the deployment of cloud infrastructure. This technique has many benefits over handbook configuration, comparable to improved auditability by means of supply management, repeatability, and consistency by means of automated processes and the flexibility to ascertain strong, re-usable patterns with IaC modules. Along with adopting IaC, many purchasers have automated deployments for his or her functions and wish a repeatable and constant option to provision assets—therefore organising a necessity for the Azure DevOps Supplier in Terraform.
Whereas staying true to our aim of enhancing the expertise of managing Microsoft Azure with Terraform, we sought to make configurations for Azure DevOps assets—like service connections, pipelines, and git repositories—less complicated by enabling administration by means of Terraform through this new supplier.
What’s Azure DevOps?
For many who aren’t aware of Azure DevOps, within the easiest phrases, Azure DevOps supplies end-to-end options on Azure. All through the applying lifecycle phases of planning, creating, delivering, and working, groups can implement DevOps practices. These DevOps applied sciences, mixed with folks and processes, allow groups to repeatedly present worth to prospects.
Utilizing the Azure DevOps Supplier for Terraform, you may mannequin and handle the DevOps to your venture. Which means the outline of Azure DevOps repositories, service connections, pipelines, variable teams, teams, group memberships, and plenty of others may be dedicated as supply code and managed by means of Terraform in a constant and repeatable manner.
Here’s what a few of our prospects need to say concerning the supplier:
“The Azure DevOps Provider for Terraform has enabled us to utilize our existing infrastructure automation tools and processes to decrease the time to provision Azure DevOps projects for our developers. This in turn has saved us time & money, increasing developer satisfaction.”
-Matthias Eberle, Head of Cloud Operations, Union Funding
“The Azure DevOps Provider for Terraform has helped support our “cattle not pets” infrastructure. We are able to now provision Azure DevOps tasks with Service Connections that replace with the infrastructure they hook up with!”
-Connor Brown, Senior Cloud Engineer, 84.51° LLC
Instance of utilizing the Azure DevOps Supplier
The Azure DevOps Supplier for Terraform has numerous options, however right here is a straightforward instance that exhibits how simple it may be to create a brand new Azure DevOps venture, repository and construct definition in a repeatable manner with Terraform:
useful resource "azuredevops_project" "p" project_name = "Pattern Mission" useful resource "azuredevops_variable_group" "vars" project_id = azuredevops_project.p.id title = "Pattern Variable Group" description = "Managed by Terraform" allow_access = true variable title = "FOO" worth = "BAR" variable title = "FOO_SECRET" worth = "drop" is_secret = true useful resource "azuredevops_git_repository" "repo" project_id = azuredevops_project.p.id title = "Pattern Repository" initialization init_type = "Clear" useful resource "azuredevops_build_definition" "construct" project_id = azuredevops_project.p.id title = "Pattern Pipeline" repository repo_type = "TfsGit" repo_name = azuredevops_git_repository.repo.title branch_name = azuredevops_git_repository.repo.default_branch yml_path = "azure-pipelines.yml" variable_groups = [azuredevops_variable_group.vars.id]
For the complete listing of options, try the Azure DevOps Provider for Terraform on the HashiCorp website. We hope you’re as excited concerning the new supplier as we’re. When you’ve got any suggestions, please tell us on GitHub.