You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-60Lines changed: 10 additions & 60 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
4
4
With Azure CLI GitHub Action, you can automate your workflow by executing [Azure CLI](https://github.com/Azure/azure-cli) commands to manage Azure resources inside of an Action.
5
5
6
-
The action executes the Azure CLI Bash script on a user defined Azure CLI version. If the user does not specify a version, latest CLI version is used.
6
+
The action executes the Azure CLI Bash script on a user defined Azure CLI version. If the user does not specify a version, the version of Azure CLI installed on the agent is used. If there is no version of Azure CLI found on the agent, the action falls back the version to `latest`.
7
7
Read more about various Azure CLI versions [here](https://github.com/Azure/azure-cli/releases).
8
8
9
9
-`azcliversion` – **Optional** Example: 2.30.0, Default: set to az cli version of the agent.
@@ -13,22 +13,21 @@ Azure CLI GitHub Action is supported for the Azure public cloud as well as Azure
13
13
14
14
The definition of this GitHub Action is in [action.yml](https://github.com/Azure/CLI/blob/master/action.yml). The action status is determined by the exit code returned by the script rather than StandardError stream.
15
15
16
-
## Note
17
-
Please note that the action executes Az CLI script in a docker container. This means that the action is subjected to potential restrictions which arise from containerized execution. For example:
18
-
1. If script sets up an environment variable, it will not take effect in host and hence subsequent actions shouldn't rely on such environment variable.
19
-
2. There is some restriction on how cross action file read/write is done. GITHUB_WORKSPACE directory in host is mapped to working directory inside container. So, if the action wants to create a file, which will be read by subsequent actions, it should do so within current working directory tree.
16
+
> [!NOTE]
17
+
> Please note that the action executes Azure CLI script in a docker container. This means that the action is subjected to potential restrictions which arise from containerized execution. For example:
18
+
>1. If script sets up an environment variable, it will not take effect in host and hence subsequent actions shouldn't rely on such environment variable.
19
+
> 2. There is some restriction on how cross action file read/write is done. `GITHUB_WORKSPACE` directory in host is mapped to working directory inside container. So, if the action wants to create a file, which will be read by subsequent actions, it should do so within current working directory tree.
20
20
21
21
> [!WARNING]
22
22
> By default, the output of Azure CLI commands is printed to the stdout stream. Without redirecting the stdout stream, contents in it will be stored in the build log of the action. Configure Azure CLI to _not_ show output in the console screen or print in the log by setting the environment variable `AZURE_CORE_OUTPUT` to `none`. If you need the output of a specific command, override the default setting using the argument `--output` with your format of choice. For more information on output options with the Azure CLI, see [Format output](https://learn.microsoft.com/cli/azure/format-output-azure-cli).
23
23
24
24
## Sample workflow
25
25
26
26
### Dependencies on other GitHub Actions
27
-
*[Azure Login](https://github.com/Azure/login) – **Optional** Login with your Azure credentials, required only for authentication via azure credentials. Authentication via connection strings or keys do not require this step.
27
+
*[Azure Login](https://github.com/Azure/login) – **Optional** Login with your Azure credentials, required only for authentication via Azure credentials. If you use this action, make sure to either use the default value of `azcliversion` or `azcliversion >= 2.30.0` for all the workflows. Authentication via connection strings or keys do not require this step.
28
+
*[Checkout](https://github.com/actions/checkout) – **Optional** To execute the scripts present in your repository.
28
29
29
-
**Note** Make sure to either use default value of `azcliversion` or version above 2.30.0 for all the workflows using `GitHub hosted agents`.
30
-
*[Checkout](https://github.com/actions/checkout) – **Optional** To execute the scripts present in your repository
31
-
### Workflow to execute an AZ CLI script of a specific CLI version
30
+
### Workflow to execute an Azure CLI script of a specific CLI version
32
31
```
33
32
# File: .github/workflows/workflow.yml
34
33
@@ -56,7 +55,7 @@ jobs:
56
55
az storage -h
57
56
```
58
57
59
-
### Workflow to execute an AZ CLI script of a specific CLI version via file present in your repository.
58
+
### Workflow to execute an Azure CLI script of a specific CLI version via file present in your repository.
60
59
```
61
60
# File: .github/workflows/workflowForFile.yml
62
61
@@ -86,56 +85,7 @@ jobs:
86
85
chmod +x $GITHUB_WORKSPACE/sampleScript.sh
87
86
$GITHUB_WORKSPACE/sampleScript.sh
88
87
```
89
-
*[GITHUB_WORKSPACE](https://help.github.com/en/github/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners) is the environment variable provided by GitHub which represents the root of your repository.
90
-
91
-
### Configure Azure credentials as GitHub Secret:
92
-
93
-
To use any credentials like Azure Service Principal,add them as [secrets](https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets) in the GitHub repository and then use them in the workflow.
94
-
95
-
Follow the steps to configure the secret:
96
-
* Define a new secret under your repository settings, Add secret menu
97
-
* Store the output of the below [az cli](https://docs.microsoft.com/en-us/cli/azure/?view=azure-cli-latest) command as the value of secret variable 'AZURE_CREDENTIALS'
98
-
```bash
99
-
100
-
az ad sp create-for-rbac --name "myApp" --role contributor \
# Replace {subscription-id}, {resource-group} with the subscription, resource group details
105
-
106
-
# The command should output a JSON object similar to this:
107
-
108
-
{
109
-
"clientId": "<GUID>",
110
-
"clientSecret": "<GUID>",
111
-
"subscriptionId": "<GUID>",
112
-
"tenantId": "<GUID>",
113
-
(...)
114
-
}
115
-
116
-
```
117
-
* Now in the workflow file in your branch: `.github/workflows/workflow.yml` replace the secret in Azure login action with your secret (Refer to the example above)
118
-
119
-
## Azure CLI Action metadata file
120
-
121
-
```
122
-
# File: action.yml
123
-
124
-
# Automate your GitHub workflows using Azure CLI scripts.
125
-
name: 'Azure CLI'
126
-
description: 'The action is used to execute Azure CLI commands'
127
-
inputs:
128
-
inlineScript:
129
-
description: 'Specify the script here'
130
-
required: true
131
-
azcliversion:
132
-
description: 'Azure CLI version to be used to execute the script'
133
-
required: false
134
-
default: 'latest'
135
-
runs:
136
-
using: 'node16'
137
-
main: 'lib/main.js'
138
-
```
88
+
*[`GITHUB_WORKSPACE`](https://docs.github.com/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#file-systems) is the environment variable provided by GitHub which represents the root of your repository.
0 commit comments