GithubHelp home page GithubHelp logo

isabella232 / arm-deploy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from azure/arm-deploy

0.0 0.0 0.0 196 KB

ARM action to deploy an Azure Resource Manager (ARM) template to all the deployment scopes

License: MIT License

TypeScript 100.00%

arm-deploy's Introduction

GitHub Action for Azure Resource Manager (ARM) deployment

A GitHub Action to deploy ARM templates. With this action you can automate your workflow to deploy ARM templates and manage Azure resources.

This action can be used to deploy Azure Resource Manager templates at different deployment scopes - resource group deployment scope, subscription deployment scope and management group deployment scopes.

Dependencies

  • Azure Login Login with your Azure credentials
  • Checkout To checks-out your repository so the workflow can access any specified ARM template.

Inputs

  • scope: Provide the scope of the deployment. Valid values are: resourcegroup(default) , subscription, managementgroup.
  • resourceGroupName: Conditional Provide the name of a resource group. Only required for Resource Group Scope
  • subscriptionId: Conditional Provide the subscription ID which should be used. Only required for scope resourcegroup & subscription.
  • managementGroupId: Conditional Specify the Management Group ID, only required for Management Group Deployments.
  • region: Conditional Provide the target region, only required for Management Group or Subscription deployments.
  • template: Required Specify the path or URL to the Azure Resource Manager template.
  • parameters: Specify the path or URL to the Azure Resource Manager deployment parameter values. Or local / remote value file.
  • deploymentMode: Incremental(default) (only add resources to resource group) or Complete (remove extra resources from resource group) or Validate (only validates the template).
  • deploymentName: Specifies the name of the resource group deployment to create.

Outputs

Every template output will be exported as output.

Usage

- uses: azure/arm-deploy@v1
  with:
    subscriptionId: <YourSubscriptionId>
    resourceGroupName: <YourResourceGroup>
    template: <path/to/azuredeploy.json>

Example

on: [push]
name: AzureLoginSample

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - uses: azure/login@v1
      with:
        creds: ${{ secrets.AZURE_CREDENTIALS }}
    - uses: azure/arm-deploy@v1
      with:
        subscriptionId: e1046c08-7072-****-****-************
        resourceGroupName: github-action-arm-rg
        template: ./azuredeploy.json
        parameters: storageAccountType=Standard_LRS

Another example on how to use this Action to use get the output of ARM template

In this exmaple, our template outputs containerName.

Steps

- uses: azure/arm-deploy@v1
  id: deploy
  with:
    subscriptionId: e1046c08-7072-****-****-************
    resourceGroupName: azurearmaction
    template: examples/template/template.json
    parameters: examples/template/parameters.json
    deploymentName: github-advanced-test

Here we see a normal use of the Action, we pass the template as json file as well as the parameters. If we look into the template.json File we can see at the very bottom the defined outputs:

{
  ...
  "outputs": {
    ...
    "containerName": {
      "type": "string",
      "value": "[parameters('containerName')]"
    }
  }
}

And we know our Action writes this output(s) to an action output variable with the same name, we can access it using ${{ steps.deploy.outputs.containerName }} (Note: deploy comes from the id field from above.)

If we now add a Shell script with a simple echo from that value, we can see that on the console the containername to be printed.

- run: echo ${{ steps.deploy.outputs.containerName }}

For more examples, refer : Example Guide

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

arm-deploy's People

Contributors

kanika1894 avatar actions-user avatar t-dedah avatar microsoftopensource avatar pulkitaggarwl avatar bishal-pdmsft avatar microsoft-github-operations[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.