mirror of
https://github.com/mcuadros/ascode
synced 2025-07-13 23:54:23 +02:00
54 lines
10 KiB
HTML
54 lines
10 KiB
HTML
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>GitHub Action - AsCode - Terraform Alternative Syntax</title><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://ascode.run/images/favicon.png><link rel=stylesheet href=/css/style.min.df49831c6872564dff31a5f0978a9571f2c8110b513d4b3b1fc8ead41dcdc9f0.css></head><body class="page page-default-single"><div id=main-menu-mobile class=main-menu-mobile><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-docs><a href=/docs/><span>Docs</span></a></li><li class=menu-item-github><a href=https://github.com/mcuadros/ascode><span>GitHub</span></a></li></ul></div><div class=wrapper><div class=header><div class=container><div class=logo><a href=https://ascode.run><img alt=Logo src=/images/logo-header.svg></a></div><div class=logo-mobile><a href=https://ascode.run><img alt=Logo src=/images/logo-header.svg></a></div><div id=main-menu class=main-menu><ul><li class=menu-item-home><a href=/><span>Home</span></a></li><li class=menu-item-docs><a href=/docs/><span>Docs</span></a></li><li class=menu-item-github><a href=https://github.com/mcuadros/ascode><span>GitHub</span></a></li></ul></div><button id=toggle-main-menu-mobile class="hamburger hamburger--slider" type=button>
|
|
<span class=hamburger-box><span class=hamburger-inner></span></span></button></div></div><div class="main container pt-2 pt-md-6 pb-3 pb-md-6"><div class=row><div class="col-12 col-md-3 mb-3"><div class=sidebar><div class=docs-menu><h4><a href=/docs/>Documentation</a></h4><ul><li><a href=/docs/install/>Quick Install</a></li><li><a href=/docs/getting-started/>Getting Started</a></li><li><a href=/docs/starlark/>Language definition</a></li><li><a href=/docs/reference/>API Reference</a></li><li><a href=/docs/example/>Examples</a></li><li><a class=active href=/docs/github-action/>GitHub Action</a></li><li><a href=/docs/_home/></a></li></ul></div></div></div><div class="col-12 col-md-9"><h1 class=title>GitHub Action</h1><div class=content><p>AsCode Github Action allows to execute AsCode <code>run</code> command in response to a GitHub event such as updating a pull request or pushing a new commit to a specific branch.</p><p>This used in combination with the <a href=https://www.terraform.io/docs/github-actions/getting-started.html>Terraform GitHub Actions</a> allows to execute the different terraform commands <code>init</code>, <code>plan</code> and <code>apply</code> inside of a <a href=https://help.github.com/en/actions/configuring-and-managing-workflows>GitHub Workflow</a>.</p><h2 id=parameters>Parameters</h2><table><thead><tr><th>Parameter</th><th><strong>Mandatory</strong>/<strong>Optional</strong></th><th>Description</th></tr></thead><tbody><tr><td>file</td><td><strong>Mandatory</strong></td><td>Starlark file to execute. Default value: <code>main.star</code></td></tr><tr><td>hcl</td><td><strong>Mandatory</strong></td><td>HCL output file. Default value: <code>generated.tf</code></td></tr></tbody></table><h2 id=recommended-workflow>Recommended Workflow</h2><div class=highlight><pre class=chroma><code class=language-yaml data-lang=yaml><span class=k>name</span><span class=p>:</span><span class=w> </span><span class=s1>'Terraform & AsCode'</span><span class=w>
|
|
</span><span class=w></span><span class=k>on</span><span class=p>:</span><span class=w>
|
|
</span><span class=w> </span><span class=k>push</span><span class=p>:</span><span class=w>
|
|
</span><span class=w> </span><span class=k>branches</span><span class=p>:</span><span class=w>
|
|
</span><span class=w> </span>- master<span class=w>
|
|
</span><span class=w> </span><span class=k>pull_request</span><span class=p>:</span><span class=w>
|
|
</span><span class=w>
|
|
</span><span class=w></span><span class=k>jobs</span><span class=p>:</span><span class=w>
|
|
</span><span class=w> </span><span class=k>terraform</span><span class=p>:</span><span class=w>
|
|
</span><span class=w> </span><span class=k>name</span><span class=p>:</span><span class=w> </span><span class=s1>'Deploy'</span><span class=w>
|
|
</span><span class=w> </span><span class=k>runs-on</span><span class=p>:</span><span class=w> </span>ubuntu-latest<span class=w>
|
|
</span><span class=w> </span><span class=k>env</span><span class=p>:</span><span class=w>
|
|
</span><span class=w> </span><span class=k>TF_VERSION</span><span class=p>:</span><span class=w> </span>latest<span class=w>
|
|
</span><span class=w> </span><span class=k>TF_WORKING_DIR</span><span class=p>:</span><span class=w> </span>.<span class=w>
|
|
</span><span class=w> </span><span class=k>steps</span><span class=p>:</span><span class=w>
|
|
</span><span class=w> </span>- <span class=k>name</span><span class=p>:</span><span class=w> </span><span class=s1>'Checkout'</span><span class=w>
|
|
</span><span class=w> </span><span class=k>uses</span><span class=p>:</span><span class=w> </span>actions/checkout@master<span class=w>
|
|
</span><span class=w>
|
|
</span><span class=w> </span>- <span class=k>name</span><span class=p>:</span><span class=w> </span><span class=s1>'AsCode Run'</span><span class=w>
|
|
</span><span class=w> </span><span class=k>uses</span><span class=p>:</span><span class=w> </span>mcuadros/ascode@gh-action<span class=w>
|
|
</span><span class=w>
|
|
</span><span class=w> </span>- <span class=k>name</span><span class=p>:</span><span class=w> </span><span class=s1>'Terraform Init'</span><span class=w>
|
|
</span><span class=w> </span><span class=k>uses</span><span class=p>:</span><span class=w> </span>hashicorp/terraform-github-actions@master<span class=w>
|
|
</span><span class=w> </span><span class=k>with</span><span class=p>:</span><span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_version</span><span class=p>:</span><span class=w> </span>${{<span class=w> </span>env.TF_VERSION<span class=w> </span>}}<span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_subcommand</span><span class=p>:</span><span class=w> </span><span class=s1>'init'</span><span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_working_dir</span><span class=p>:</span><span class=w> </span>${{<span class=w> </span>env.TF_WORKING_DIR<span class=w> </span>}}<span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_comment</span><span class=p>:</span><span class=w> </span><span class=kc>true</span><span class=w>
|
|
</span><span class=w>
|
|
</span><span class=w> </span>- <span class=k>name</span><span class=p>:</span><span class=w> </span><span class=s1>'Terraform Validate'</span><span class=w>
|
|
</span><span class=w> </span><span class=k>uses</span><span class=p>:</span><span class=w> </span>hashicorp/terraform-github-actions@master<span class=w>
|
|
</span><span class=w> </span><span class=k>with</span><span class=p>:</span><span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_version</span><span class=p>:</span><span class=w> </span>${{<span class=w> </span>env.TF_VERSION<span class=w> </span>}}<span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_subcommand</span><span class=p>:</span><span class=w> </span><span class=s1>'validate'</span><span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_working_dir</span><span class=p>:</span><span class=w> </span>${{<span class=w> </span>env.TF_WORKING_DIR<span class=w> </span>}}<span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_comment</span><span class=p>:</span><span class=w> </span><span class=kc>true</span><span class=w>
|
|
</span><span class=w>
|
|
</span><span class=w> </span>- <span class=k>name</span><span class=p>:</span><span class=w> </span><span class=s1>'Terraform Plan'</span><span class=w>
|
|
</span><span class=w> </span><span class=k>uses</span><span class=p>:</span><span class=w> </span>hashicorp/terraform-github-actions@master<span class=w>
|
|
</span><span class=w> </span><span class=k>with</span><span class=p>:</span><span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_version</span><span class=p>:</span><span class=w> </span>${{<span class=w> </span>env.TF_VERSION<span class=w> </span>}}<span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_subcommand</span><span class=p>:</span><span class=w> </span><span class=s1>'plan'</span><span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_working_dir</span><span class=p>:</span><span class=w> </span>${{<span class=w> </span>env.TF_WORKING_DIR<span class=w> </span>}}<span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_comment</span><span class=p>:</span><span class=w> </span><span class=kc>true</span><span class=w>
|
|
</span><span class=w>
|
|
</span><span class=w> </span>- <span class=k>name</span><span class=p>:</span><span class=w> </span><span class=s1>'Terraform Apply'</span><span class=w>
|
|
</span><span class=w> </span><span class=k>uses</span><span class=p>:</span><span class=w> </span>hashicorp/terraform-github-actions@master<span class=w>
|
|
</span><span class=w> </span><span class=k>if</span><span class=p>:</span><span class=w> </span>github.event_name<span class=w> </span>==<span class=w> </span><span class=s1>'push'</span><span class=w>
|
|
</span><span class=w> </span><span class=k>with</span><span class=p>:</span><span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_version</span><span class=p>:</span><span class=w> </span>${{<span class=w> </span>env.TF_VERSION<span class=w> </span>}}<span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_subcommand</span><span class=p>:</span><span class=w> </span><span class=s1>'apply'</span><span class=w>
|
|
</span><span class=w> </span><span class=k>tf_actions_working_dir</span><span class=p>:</span><span class=w> </span>${{<span class=w> </span>env.TF_WORKING_DIR<span class=w> </span>}}<span class=w>
|
|
</span></code></pre></div></div></div></div></div></div></div><div class=sub-footer><div class=container><div class=row><div class=col-12><div class=sub-footer-inner><ul><li><a href=https://github.com/mcuadros/ascod>Documentation version v1.3.0</a></li><li>Template by <a href=https://www.zerostatic.io>Robert Austin</a></li></ul></div></div></div></div><script type=text/javascript src=/js/scripts.min.be6fe1294698d6acd837c5182149cd1a24daae9fa1903ce810c264539d254d62.js></script></body></html> |