Skip to content

Commit 7890b57

Browse files
authored
Update README.md (#124)
* modify readme * remove Azure CLI Action metadata file * update with comments * modify note * update * update * update
1 parent bb23033 commit 7890b57

1 file changed

Lines changed: 10 additions & 60 deletions

File tree

README.md

Lines changed: 10 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
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.
55

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`.
77
Read more about various Azure CLI versions [here](https://github.com/Azure/azure-cli/releases).
88

99
- `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
1313

1414
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.
1515

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.
2020
2121
> [!WARNING]
2222
> 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).
2323
2424
## Sample workflow
2525

2626
### 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.
2829

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
3231
```
3332
# File: .github/workflows/workflow.yml
3433
@@ -56,7 +55,7 @@ jobs:
5655
az storage -h
5756
```
5857

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.
6059
```
6160
# File: .github/workflows/workflowForFile.yml
6261
@@ -86,56 +85,7 @@ jobs:
8685
chmod +x $GITHUB_WORKSPACE/sampleScript.sh
8786
$GITHUB_WORKSPACE/sampleScript.sh
8887
```
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 \
101-
--scopes /subscriptions/{subscription-id}/resourceGroups/{resource-group} \
102-
--sdk-auth
103-
104-
# 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.
13989

14090
# Getting Help for Azure CLI Issues
14191

0 commit comments

Comments
 (0)