1. Нам важно Ваше мнение!
    и обсуждайте вместе! Нажимайте "мне нравится" и рекомендуйте друзьям ;)
    Понравилось тема? Напишите в ней свой отзыв.
    Считаете что тема не достаточно полно раскрыта? Расскажите свою точку зрения!
    С Вашей помощью сделаем форум еще лучше!

Idaho : vsts account - Эдуард Кабринский

Тема в разделе 'Горячие новости для тех кто следит за собой', создана пользователем IZRAELEn, 19 май 2021.

  1. IZRAELEn

    IZRAELEn Member

    Kabrinskiy Eduard - Terraform azure devops - Кабринский Рдуард


    <h1>Terraform azure devops</h1>
    <p>[youtube]</p>
    Terraform azure devops <a href="http://remmont.com">News today</a> Terraform azure devops
    <h1>Include Terraform Plan Approval in Azure DevOps Release Pipeline</h1>
    <p style="clear: both"><img src="https://cdn.shortpixel.ai/client/q_.../wp-content/uploads/2020/03/laurens-knoll.jpg" /></p>
    <p>In automation environments such as Azure DevOps you can?t use Terraforms interactive approval. Therefore you create a deployment plan, wait for a plan approval and apply the deployment plan. This blog implements a plan approval in Azure Pipelines using the Manual Intervention-task.</p>
    <h1>Plan Approval Release Pipeline</h1>
    <p>A plan approval release pipeline first creates a Terraform plan and waits for an approval before applying the plan. The following release pipeline implements plan approval using the Manual Intervention-task. This task notifies selected users or groups and waits for a manual approval.</p>
    <p><strong>Remark</strong> This pipeline requires the Terraform Extension-extension. Ask your administrator to install and configure it.</p>
    <h2>Release Pipeline</h2>
    <p>The release consists of two stages: Test and Production. Deployments are controlled using release variables.</p>
    <p>The associated source repository is available at GitHub.</p>
    <p style="clear: both"> <img src="https://cdn.shortpixel.ai/client/q_...loads/2020/04/01-release-pipeline-900x399.png" /><img src="https://cdn.shortpixel.ai/client/q_...oads/2020/04/02-release-variables-900x284.png" /></p>
    <p>For the sake of simplicity this example doesn?t use any stage-specific configuration. Include additional configuration using additional Release variables and apply them using the Replace Tokens-task.</p>
    <h2>Deployment Pipeline</h2>
    <p>The deployment pipeline configures Terraform, plans the required changes, waits for approval and applies the changes. Since pipeline artifacts are not supported in release pipelines the deployments assumes that the infra is unchanged while awaiting approval.</p>
    <p> <img src="https://cdn.shortpixel.ai/client/q_...tent/uploads/2020/04/03-test-plan-900x571.png" /> <img src="https://cdn.shortpixel.ai/client/q_...t/uploads/2020/04/04-test-approve-900x700.png" /><img src="https://cdn.shortpixel.ai/client/q_...ent/uploads/2020/04/05-test-apply-900x617.png" /> <table> <thead> <tr> <th style="text-align: center;"><strong>Command Reference</strong></th> <th style="text-align: left;">Task</th> <th style="text-align: left;">Configuration</th> </tr> </th> <tbody> <tr> <td style="text-align: center;">Init</td> <td style="text-align: left;">Configuration Directory</td> <td style="text-align: left;">$(System.DefaultWorkingDirectory)/GitHub/terraform/projects/$(Terraform.Project)/stacks/$(Terraform.Stack)</td> </tr> <tr> <td style="text-align: left;">State Key</td> <td style="text-align: left;">$(Terraform.Project)/$(Terraform.Configuration)</td> </tr> <tr> <td style="text-align: center;">Plan</td> <td style="text-align: left;">Configuration Directory</td> <td style="text-align: left;">$(System.DefaultWorkingDirectory)/GitHub/terraform/projects/$(Terraform.Project)/stacks/$(Terraform.Stack)</td> </tr> <tr> <td style="text-align: left;">Command Args</td> <td style="text-align: left;">-input=false -var-file="$(System.DefaultWorkingDirectory)/GitHub/terraform/projects/$(Terraform.Project)/settings/$(Terraform.Configuration).tfvars"</td> </tr> <tr> <td style="text-align: center;">Apply</td> <td style="text-align: left;">Configuration Directory</td> <td style="text-align: left;">$(System.DefaultWorkingDirectory)/GitHub/terraform/projects/$(Terraform.Project)/stacks/$(Terraform.Stack)</td> </tr> <tr> <td style="text-align: left;">Command Args</td> <td style="text-align: left;">-input=false -auto-approve -lock-timeout=0s -var-file="$(System.DefaultWorkingDirectory)/GitHub/terraform/projects/$(Terraform.Project)/settings/$(Terraform.Configuration).tfvars"</td> </tr> </tbody> </table> </p>
    <h1>Discussion</h1>
    <p>Azure Pipelines also supports Gates and yaml-pipelines. Gates are used to control deployments, and yaml-pipelines are used to store the build and release pipelines next to your source code. Why don?t you use that?</p>
    <p>I do think that Gates and yaml-pipelines should be used instead of the Manual Intervention-task. Currently this implies moving the pipelines approval configuration to the project-level environment configuration[1]. I dislike this, because I prefer self-contained pipelines.</p>
    <p>But can?t you use Gates without yaml-pipelines? Sadly Release Pipelines don?t support publishing pipeline artifacts. This is overcome by using external infrastructure, but I rather wait for the Azure DevOps team to implement it with yaml-pipelines[2].</p>
    <h1>Conclusion</h1>
    <p>Use the manual intervention-task to approve your Terraform deployments. Although Release Pipelines don?t allow to execute the planned plan, it?s always better to have a controlled deployment over a blind one.</p>
    <h2>Terraform azure devops</h2>

    <h3>Terraform azure devops</h3>
    <p>[youtube]</p>
    Terraform azure devops <a href="http://remmont.com">To day news</a> Terraform azure devops
    <h4>Terraform azure devops</h4>
    Approve Terraform deployments from Azure DevOps Release Pipelines with the Manual Intervention-task.
    <h5>Terraform azure devops</h5>
    Terraform azure devops <a href="http://remmont.com">Terraform azure devops</a> Terraform azure devops
    SOURCE: <h6>Terraform azure devops</h6> <a href="https://dev-ops.engineer/">Terraform azure devops</a> Terraform azure devops
    #tags#[replace: -,-Terraform azure devops] Terraform azure devops#tags#

    Eduard Kabrinskiy
    daily news

Поделиться этой страницей