We start with create New pipeline. To take a look at my pipelines visit my public Azure DevOps project: https://dev.azure.com/sergeydotnet/TerraformConfiguration/_build

Click on Pipelines-> Builds

Click on New Pipeline

Click on Use the visual designer

Choose repo and branch where you created terraform configuration and click Continue

Choose Empty job.

Now specify a name and agent pool. I am using Hosted VS2017. This is agent provided be Azure DevOps, but limited free minutes. If you exceed the free limit you have to pay. You can of course use your own agents.
Click on + sign on Agent job 1

and start to write terraf... You get some Terraform task to choose from
Now we have a challenge which one to choose. I solved it quit easy. Go to marketplace, search for terraform

Unfortunately none of this task provided me full support I needed, but one of this taks was useful. It was Terraform task written by Charles Zipp because I can use it to install Terraform in my build pipeline. Details later.
Install this task

Click on Get it free

Click on Install

Click on Proceed to organization.
Now we can add this task to our pipeline.

Click on Add.

Update the version, at this moment the latest Terraform version is 0.11.11. Remember to Save your build pipeline.
Now we have to deal with our secrets. Remember we created terraform.tfvars file in this blog Create Azure Resource Group using Terraform.
Open Pipelines -> Library

Click on Secure files, then +Secure file

Upload your terraform.tfvars file here

Click on OK
Now go back to your build pipeline

Click on Edit

Click on + sign and in the Add task meny search for Download and choose Add for Download Secure File

Choose file to download, in our case terraform.tfvars
This file will be downloaded to the $(Agent.TempDirectory) directory and deleted when the build is over.
Now we have to copy this file to the place with other configuration files. Sounds strange but it doesn't work if you call apply like this, just specify the path to terraform.tfvars file
terraform apply -var-file=$(Agent.TempDirectory)\terraform.tfvars -auto-approve
Anyway we add a new task Copy Files

Specify Source Folder and Target Folder

Don't worry about this strange syntax.
$(Agent.TempDirectory)
$(Build.SourcesDirectory)
This is just predefined build variables Azure DevOps are using. The list of alle variables can you find here
Now add Command Line task

Specify Display name and Script to run

terraform init
Remember to Save your work

Add one more Command Line task

Specify Display name and Script. Choose which secure files you want to use by setting --var-file=terraform.tfvars
terraform apply -var-file=terraform.tfvars -auto-approve
Now we have to remove the folder with our secrets files
Add new task Delete Files

Specify Display name, Source Folder and Contents

$(Build.SourcesDirectory)
Now Save and queue the Build Pipeline
Logs looks like this

Now take a look to Azure Portal

MyVeryBestRG is created.
Now we have used the Azure DevOps visual designer.
Next blog post is going to be Using Terraform with Azure DevOps using YAML.
As Microsoft telling you with YAML you get a better experience to configure your pipelines. Learn more about YAML here.
Links in this blog
My public TerraformConfiguration project
Create Azure Resource Group using Terraform