Azure DevOps Pipeline with Terraform

Ғылым және технология

Automating your Terraform deployment with a pipeline can be a complicated affair. Azure DevOps Pipelines is a hosted solution that can simplify some portions of the process, but it's not as simple as it first appears. In this video, we'll get a basic pipeline set up using Terraform.
GitHub Repo: github.com/ned1313/terraform-...
Apps On Cloud Summit: www.turbonomic.com/appsonclou...
Terraform Certification Guide: leanpub.com/terraform-certified/
-----------------------------------------------------------------------------------------------------
Patreon: / nedinthecloud
Daily Check-In: anchor.fm/ned-bellavance
Day Two Cloud: daytwocloud.io
Website: nedinthecloud.com
Pluralsight: app.pluralsight.com/profile/a...
GitHub: github.com/ned1313
Music by Evan Williams ©2020
Intro 00:00

Пікірлер: 50

  • @kirktarulis8666
    @kirktarulis8666 Жыл бұрын

    I recently transitioned from sysadmin work to devops, and your videos have been an amazing resource. They provide a lot of clarity when confronted with so many moving parts. Thank you!

  • @NedintheCloud

    @NedintheCloud

    Жыл бұрын

    Thanks Kirk!! Hope all is going well.

  • @nickonajite9799
    @nickonajite97993 жыл бұрын

    This was just released! Thank you for this!

  • @julianunes2124
    @julianunes2124 Жыл бұрын

    How the hell you already have a video for every idea I have in the shower? You absolutely kill it, man! Best channel in the world!

  • @MinDTraX
    @MinDTraX2 жыл бұрын

    Thanks for the great video’s Ned!

  • @rojan9007
    @rojan9007 Жыл бұрын

    material and knowledge very help me and better than on udemy, plurasight etc. Super job !!! thx

  • @greghaines4226
    @greghaines42262 жыл бұрын

    Great video, Ned. Do you have any more information on how you went about setting up Terraform Cloud, as in what needs to be created to hold the var? Is it a workspace?

  • @CharlesBorcke
    @CharlesBorcke2 жыл бұрын

    Hello Ned, great video and thanks for sharing! One quick question, I don't get what you are ADO feature you are referring to when you mention automatic creation of service principal that would be used from the task runner. Can you be more specific?

  • @Rahul23272
    @Rahul232723 жыл бұрын

    Super informative video, can you please make more videos on Azure DevOps and Terraform

  • @NedintheCloud

    @NedintheCloud

    3 жыл бұрын

    Sure thing! This is the first of a series.

  • @PATELVISHALARPAN
    @PATELVISHALARPAN Жыл бұрын

    Hi @Ned, Thanks for the great tutorial. I followed the exact same steps but some how the Vnets are never created. Pipeline runs but there is nothing in the plan. The pipeline path and everything are exactly same

  • @chohndefru1688
    @chohndefru1688 Жыл бұрын

    can i have a link to the other parts of this pipeline where you used azure vault to store those secrets and variables

  • @madanamohanreddyk1998
    @madanamohanreddyk1998 Жыл бұрын

    Nice ❤

  • @zimcanit6647
    @zimcanit6647 Жыл бұрын

    Was the workspace created within terraform a version control workflow or cli-driven workflow please?

  • @utshabkhadka682
    @utshabkhadka6826 күн бұрын

    Error: Either an Access Key / SAS Token or the Resource Group for the Storage Account must be specified - or Azure AD Authentication must be enabled. Please Help to execute .

  • @siriplanet7127
    @siriplanet71273 жыл бұрын

    @Ned.. can you make something on terraform -? Azure-> Githb integration [for using github as a code]

  • @mosksky
    @mosksky3 жыл бұрын

    Ned u rock! could go over checkov in one of you episodes? there are good amount of video, but your way is always unique :)

  • @NedintheCloud

    @NedintheCloud

    3 жыл бұрын

    Defintely planning to incorporate Checkov. My next video is going to add Azure Key Vault to hold variable values.

  • @anj6466
    @anj64662 жыл бұрын

    Thanks for the super informative video! Can azure pipelines use terraform to deploy infrastructure in other cloud vendors like Oracle? In that case, how azure pipelines will connect to OCI? By adding OCI credentials to azure pipeline variables? Is there any way other than that?

  • @aravindravikumar248

    @aravindravikumar248

    2 жыл бұрын

    As I'm aware, yes. You just need to add the corresponding provider to the config file. I haven't tried that out.

  • @ibtissemseghier8551
    @ibtissemseghier85512 жыл бұрын

    can you list the prequiste please? you utilise terraform cloud and terraform cli! can you list the steps? Thank you

  • @andersonryoitisantossato6625
    @andersonryoitisantossato66256 ай бұрын

    Hey Ned, Thanks for the awesome content as always! I see that you configured your pipeline with Azure Hosted DevOps Agent. Yet, there is a known issue if a DevOps Agents & Storage Accounts are in the same region. If your storage account has its firewall enable and DevOps agent is deployed in the same region, the pipeline job will fail as Storage Account firewall will block it. An agent that is deployed in the same region of Storage account communicates via Private IP instead of public ones (Store Account Firewall does not support Prive IP whitelist). Do you have any suggestions in to implement a similar pipeline that is not self-hosting the DevOps agent?

  • @StephenRayner
    @StephenRayner2 жыл бұрын

    Would love to see this again but deploying AWS resources using azure pipelines

  • @NedintheCloud

    @NedintheCloud

    2 жыл бұрын

    The process would be largely the same, except you would need to supply AWS credentials through environment variables. And you would need an AWS Terraform config you want to deploy.

  • @StephenRayner
    @StephenRayner2 жыл бұрын

    Solid, I hope it’s with AWS rather than azure reaoirces

  • @ProWannabe88
    @ProWannabe882 жыл бұрын

    How have you only got 4.4k subscribers!

  • @bartoszopia7440
    @bartoszopia74402 жыл бұрын

    Hi Ned, I would like to ask why did you use both backend I mean Terraform Cloud and Azure (storage account etc)?

  • @AaronFields

    @AaronFields

    2 жыл бұрын

    The 'setup' portion of the demo was used in Terraform Cloud. Once the pipeline executed (creating the VNET) the storage account would keep the state of that resource.

  • @nightwintertooth9502
    @nightwintertooth9502 Жыл бұрын

    We have inbuilt git repositories now with yaml tasks similar to github workflows in DevOps now so im not seeing the point of this nowdays but great video

  • @iga3725
    @iga372510 ай бұрын

    Great ❤!! Do you have the same, but for ArgoCD instead Azure devops?

  • @NedintheCloud

    @NedintheCloud

    10 ай бұрын

    I don't, but def thinking about it!

  • @naveenmulinti5808
    @naveenmulinti5808 Жыл бұрын

    Hi, that's stupendous Ned. I have a query, can we access variable groups in terraform file like I have client I'd, secret, tenant I'd and all I have added them in variable group and I want use those variables in terraform file is it possible? waiting for your reply thanks in advance.

  • @NedintheCloud

    @NedintheCloud

    Жыл бұрын

    You could pass them as input variables to the configuration, or if they are stored in environment variables you can use this provider: registry.terraform.io/providers/EppO/environment/latest

  • @user-sc3vi6dc2l
    @user-sc3vi6dc2l11 ай бұрын

    Could you please help me in resolving this issue. I am getting an error in azure devops pipeline with error "/providers/Microsoft.Web/sourceControls/GitHub" already exists. When I gave terraform import in additional commands column in azure devops pipeline, I got error "Too many arguments. Need one positional argument". Could you please help

  • @jenniferkoenig9814
    @jenniferkoenig98142 жыл бұрын

    At 17:32 you mention running the "setup script" to create the initial project with pipeline in Azure DevOps. What setup script? What steps did you take to get the infrastructure in the "setup" directory deployed?

  • @dkleinm

    @dkleinm

    5 ай бұрын

    Did you get an answer to this?

  • @jenniferkoenig9814

    @jenniferkoenig9814

    5 ай бұрын

    @@dkleinm unfortunately not!

  • @utshabkhadka682

    @utshabkhadka682

    7 күн бұрын

    I am also struggling to configure . I think we should buy Udemy course to know about the configuration process because some configuration seems to be missing.

  • @lvjagadeesh
    @lvjagadeesh3 жыл бұрын

    Can you do videos on strategy based YAML pipeline?

  • @NedintheCloud

    @NedintheCloud

    3 жыл бұрын

    I'm not familiar with a strategy based pipeline. Could you elaborate?

  • @lvjagadeesh

    @lvjagadeesh

    3 жыл бұрын

    @@NedintheCloud github.com/microsoft/azure-pipelines-yaml/blob/master/design/deployment-strategies.md It'll give you a clear idea.

  • @utshabkhadka682
    @utshabkhadka6827 күн бұрын

    Where this ARM_SAS_TOKEN: $(sas_token) is defined ? I don't see in your video. I am struggling to configure this project. I cloned it in my machine but not able to run. Is there any video to configure this project in our machine ?

  • @NedintheCloud

    @NedintheCloud

    3 күн бұрын

    Can you tell me which folder on the Terraform Tuesday repository you're following? It's been a while and I have a few different versions on there.

  • @theokoutanis
    @theokoutanis2 жыл бұрын

    Ok seems that Microsoft extension for terraform didn't do the trick for me. Installed Charles Zipp's instead and boom

  • @NedintheCloud

    @NedintheCloud

    2 жыл бұрын

    Yeah, after some reflection I think I'd rather control the version of Terraform that's installed instead of using the one that comes with the runner VM.

  • @adamzachary6947
    @adamzachary69472 жыл бұрын

    I see no reason why don't you start with best practices even if you want to show people the basic configurations! there's no reason to use env variables! you can use variables group and integrate it with your azure keyvault to get some secrets or sensitive data.

  • @thebtm
    @thebtm2 жыл бұрын

    What I've being doing for my Terraform variables that are tokens or sensitive that that i create a secrets.tfvars that is in the .gitignore then i copy the file to secrets.tfvars.vault then encrypt the file with ansible-vault and it's a encrypted file.

Келесі