Azure DevOps Pipelines with Terraform and Stages

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ธ.ค. 2024

ความคิดเห็น • 69

  • @Kevin.Gilbert
    @Kevin.Gilbert 11 หลายเดือนก่อน +6

    Thank you so much for making this video. It took a process that is quite daunting to new DevOps engineers and made it very easy to follow.

  • @kevinm2567
    @kevinm2567 2 ปีที่แล้ว +2

    Wow! I just witnessed a professional at work. Subscribed.

    • @Ciraltos
      @Ciraltos  2 ปีที่แล้ว

      Thanks for the sub!

  • @jakegoodlett9608
    @jakegoodlett9608 2 ปีที่แล้ว +2

    Great video, we're moving away from classic pipelines so this was very helpful.

  • @dansmith5381
    @dansmith5381 2 ปีที่แล้ว +1

    Thanks Travis, this was a great video for getting started with pipelines using yaml rather than using the classic pipeline builder UI

  • @nageshwarkatta910
    @nageshwarkatta910 ปีที่แล้ว

    Wow Its nice video. Explanation to deploy different stages using azure pipeline. facing couple of issues regarding destroy stage. finally we fixed based on your video reference. Thanks sooo muchhh.

  • @Fullywtf
    @Fullywtf 2 ปีที่แล้ว

    After a bunch of googling, this video was gold. Thank you!

  • @rajojha449
    @rajojha449 7 หลายเดือนก่อน

    Great teaching .to the point what is needed . Thanks for the content

  • @akash25446
    @akash25446 ปีที่แล้ว

    Wow, Great Explanation. This helped me to clear my concepts from basic . Very Professional !! Thanks a lot !

  • @MrFallout86
    @MrFallout86 2 ปีที่แล้ว +8

    Great video. But how does this approach accommodate different environments? Wouldn't it be better to run the majority of these commands in the release pipeline, so you can distinguish the environment in the release lanes?

  • @johnvbrennan
    @johnvbrennan 2 ปีที่แล้ว

    Great video. Really did a good job of explaining yaml stages and use of terraform tasks.

  • @stevencuddihee
    @stevencuddihee ปีที่แล้ว +1

    6:26 where do you find the backend storage key? Is that from ADO or from the Azure portal?

  • @Max-cq6hl
    @Max-cq6hl 8 หลายเดือนก่อน +1

    Exactly what I was looking for. Tyty!

  • @kaio100ken
    @kaio100ken 9 หลายเดือนก่อน

    I dont know if I commented this earlier but what a great video.

  • @leopoldocardoso2970
    @leopoldocardoso2970 5 หลายเดือนก่อน

    Thank you so much for making this video. Amazing

  • @jarrrred
    @jarrrred 8 หลายเดือนก่อน

    I super appreciate this video. Thank you! This was an awesome tutorial.

  • @suhailnepal9819
    @suhailnepal9819 2 ปีที่แล้ว

    Thank you, everything is well explained in a simple manner.

    • @Ciraltos
      @Ciraltos  2 ปีที่แล้ว

      Glad it was helpful!

  • @cloudhandle
    @cloudhandle 8 หลายเดือนก่อน

    Clear cut what was needed.

  • @bhavanibattina4864
    @bhavanibattina4864 8 หลายเดือนก่อน +1

    @Travis if we are not providing the working Directory in the pipeline steps how this pipeline knows where is the code?

    • @MinDTraX
      @MinDTraX 6 หลายเดือนก่อน

      did you manage to find the answer?

  • @tanliz765
    @tanliz765 หลายเดือนก่อน

    This is very helpful. Thank you!

  • @AshokKumar-js4st
    @AshokKumar-js4st 7 หลายเดือนก่อน

    amazing.. excellent.. superb explanation

  • @oldmonk5600
    @oldmonk5600 ปีที่แล้ว +2

    You explained very well each steps of YAML pipeline , can you please make video for multistage deployment as well. Appreciate your help and couldn't find YAML file which you provided gitrepo

  • @rest822
    @rest822 5 หลายเดือนก่อน

    Excellent video. Question: How do we move the lock.hcl file back to our ADO repository ?

  • @marybecken2358
    @marybecken2358 2 ปีที่แล้ว +1

    great explanation- thank you!

  • @brunoccs
    @brunoccs 8 หลายเดือนก่อน

    I ran into a problem, no file was created for the tfstate in the container.

  • @rahul128ful
    @rahul128ful ปีที่แล้ว

    how did you get the variables you are specifying under variables from line no 11

  • @_devik
    @_devik ปีที่แล้ว

    in the gitignore you have the .tfvars, yet the file is and needs to be present in the repo?

  • @AlexanderBishop-cadent
    @AlexanderBishop-cadent หลายเดือนก่อน

    how would this work for deploying to multiple subscriptions, one of each dev, stage prod etc

  • @MrMitsumatsu
    @MrMitsumatsu 2 ปีที่แล้ว +1

    You rock, keep it coming

  • @omarrob6894
    @omarrob6894 ปีที่แล้ว

    Thanks for your wonderful videos. just wondering if you have done any CI/CD videos?

  • @madhurshukla23jan
    @madhurshukla23jan 10 หลายเดือนก่อน

    great explanation, though I was not able to find pipelines in git repo only tf files are stored.

  • @Carlesgl81
    @Carlesgl81 2 ปีที่แล้ว

    Great Help Travis!

  • @andyhuynh2450
    @andyhuynh2450 ปีที่แล้ว

    Hi Travis. If I ran terraform in visual code ebrything seems to work. When I push this to devops and ran the pipeline , it error on unit stating tfstate rg , storage and tfstae already existed. How do I run pipeline without getting errors saying the tfstae has change?

  • @cloudhandle
    @cloudhandle 7 หลายเดือนก่อน

    So because it needs terraform installer in yml file on top inside stages, you can just put - validate, apply, destroy without preceding with 'terraform' keyword?
    E.g.:
    just 'validate' instead of 'terraform validate' cmd?
    Please correct me if I am wrong.

  • @SeChelios
    @SeChelios ปีที่แล้ว

    Hi, how did you use variables in backend block in terraform configuration? Terraform doesn't allow to do that

  • @LokendraSinghmourya1983
    @LokendraSinghmourya1983 ปีที่แล้ว

    Its detailed . thank for help ,is it possible to share this sample pipeline ?

  • @marsamuk
    @marsamuk ปีที่แล้ว

    Hi Travis. What’ll happen if you enable trigger to the main branch and make a code change and commit. Will it re-create the same resources? From what I understand it won’t because the current resources will exist in tfstate. Trying to understand how this will work in a prod environment when code changes should deploy new infra. Thanks

  • @saiedbilal4305
    @saiedbilal4305 10 หลายเดือนก่อน

    this is just wow !!

    • @Ciraltos
      @Ciraltos  10 หลายเดือนก่อน

      Thanks!

  • @satishraju5188
    @satishraju5188 ปีที่แล้ว

    Hi @Travis Is there a way we can avoid initializing terraform multiple times in the pipeline ??
    Thanks,
    Satish

    • @scerons
      @scerons 8 หลายเดือนก่อน +1

      Hi! I believe you can use self-hosted agents when running your pipeline and that would allow you to preserve data and pass it on from one stage to the next. Haven't really tried it myself though

    • @reya4182
      @reya4182 8 หลายเดือนก่อน

      @scerons that makes sense will try once...thank you

  • @gerardr727
    @gerardr727 ปีที่แล้ว

    Great job! Super easy to understand and follow, thank you very much.
    Being said that, I have a question:
    How do you manage the storage for multiple deployments? Do you use the same?
    Let's imagine that we have a pipeline to deploy RG1 for project1.
    Another pipeline to deploy RG2 for project2.
    All this TF status can be/should be stored in the same blob container?
    How I can use a TF destroy only for RG1 and keep RG2 available?
    Thanks in advance

  • @jordanfox470
    @jordanfox470 2 ปีที่แล้ว

    @travis is there a way to create the back end storage in the project itself or is that just not best practice?

    • @Ciraltos
      @Ciraltos  2 ปีที่แล้ว +1

      The backend storage has to be available for the initialization. It has to be in place before apply command runs.

  • @lmb25315
    @lmb25315 2 ปีที่แล้ว

    Have always loved your videos my man. First time posting a question here. What is a solution in Azure or Windows to auto-deploy and Azure File Share to Windows VMs as a drive letter? I have tried using the PowerShell connect script to run on startup via GPO (for servers or users in OUs) but have been unsuccessful. Thanks!

  • @kbrajeshwaran
    @kbrajeshwaran 2 ปีที่แล้ว

    Much appreciated your efforts.Need to understand how to deploy azure resources like vent and subnet and vm & SQL paas and kV for different subscription via azure pipeline also queries on branch pipeline for the respective environment.

  • @adamzachary6947
    @adamzachary6947 2 ปีที่แล้ว

    Great! but I have a quick question. What if I need to add an environment between the two stages?? For manual approval.
    Say I have created the same, two stages, first one to validate and plan. and if plan is completed successfully it moves to the second stage, which is apply stage. But before I run the apply I want to make sure that someone goes manually and approve the pipeline to apply the changes ....

    • @bibinvarughese9132
      @bibinvarughese9132 ปีที่แล้ว +1

      There is a task called "manualvalidation". You can add this in between the "stages" and the recipients can do a validation to decide whether to approve or not.

  • @DavidBenOtto
    @DavidBenOtto ปีที่แล้ว

    Great video. I would like to know how to import existing resources in my pipelines.

  • @gally.streetphotography
    @gally.streetphotography ปีที่แล้ว

    Great video

  • @socisback
    @socisback ปีที่แล้ว +1

    This only works if first manually create the resource group, storage account, and container in Azure. If fails otherwise!

  • @ThomasJSweet
    @ThomasJSweet ปีที่แล้ว

    Anyone know a workaround for: Failed to get existing workspaces: containers.Client#ListBlobs: Failure responding to request: StatusCode=403. The App Registration has "owner" and Storage Account Blob owner. Thx?

    • @ThomasJSweet
      @ThomasJSweet ปีที่แล้ว

      I found it, it is due to restricting the storage account to a specific IP. It seems that for this to work, the storage account must be "accessible from all networks", even if you have "allow azure services on the trusted services list to access this storage account" selected.

  • @andrehahnemarsaioli7730
    @andrehahnemarsaioli7730 2 ปีที่แล้ว

    Awesome! thanks

  • @TulsiKhan-p4c
    @TulsiKhan-p4c 5 หลายเดือนก่อน

    Jai ho

  • @kumarnandi3592
    @kumarnandi3592 ปีที่แล้ว

    thankyou sir ❤

  • @tambahako628
    @tambahako628 ปีที่แล้ว

    Nice!

  • @rajeshchamanthula3201
    @rajeshchamanthula3201 10 หลายเดือนก่อน +1


    │ Error: No configuration files

    │ Apply requires configuration to be present. Applying without a
    │ configuration would mark everything for destruction, which is normally not
    │ what is desired. If you would like to destroy everything, run 'terraform
    │ destroy' instead.

    ##[error]Terraform command 'apply' failed with exit code '1'.
    ##[error]╷
    │ Error: No configuration files

    │ Apply requires configuration to be present. Applying without a
    │ configuration would mark everything for destruction, which is normally not
    │ what is desired. If you would like to destroy everything, run 'terraform
    │ destroy' instead.

    • @MinDTraX
      @MinDTraX 6 หลายเดือนก่อน

      I have the same issue, did you manage to resolve it?

  • @anilrepala505
    @anilrepala505 ปีที่แล้ว

    Destroy pipeline is not deleting the resources 😑

  • @SameedAhmed
    @SameedAhmed 2 ปีที่แล้ว

    Thanks

  • @ozshiffytech5389
    @ozshiffytech5389 2 ปีที่แล้ว +1

    The video is blurry

  • @ermiaskeno1986
    @ermiaskeno1986 5 หลายเดือนก่อน

    thank you for you best content, I am getting error running azure devops pipeline , its not initializing terraform , I appreciate your suggestion, /opt/hostedtoolcache/terraform/0.14.11/x64/terraform init -backend-config=storage_account_name=xxx -backend-config=container_name=xxx -backend-config=key=xxx -backend-config=resource_group_name=xxx -backend-config=arm_subscription_id=xxx -backend-config=arm_tenant_id=*** -backend-config=arm_client_id=*** -backend-config=arm_client_secret=***
    ##[error]Error: There was an error when attempting to execute the process '/opt/hostedtoolcache/terraform/0.14.11/x64/terraform'. This may indicate the process failed to start. Error: spawn /opt/hostedtoolcache/terraform/1.0.0/x64/terraform ENOENT
    Finishing: terraform init

    • @sebaas97z
      @sebaas97z 5 หลายเดือนก่อน

      Hi, check the working directory! i faced the same issue