mirror of
https://github.com/azure/login.git
synced 2026-06-08 04:47:07 +00:00
74 lines
3.1 KiB
Markdown
74 lines
3.1 KiB
Markdown
# GitHub Actions for deploying to Azure
|
|
|
|
## Automate your GitHub workflows using Azure Actions
|
|
|
|
[GitHub Actions](https://help.github.com/en/articles/about-github-actions) gives you the flexibility to build an automated software development lifecycle workflow. With [GitHub Actions for Azure](https://github.com/Azure/actions/) you can create workflows that you can set up in your repository to build, test, package, release and **deploy** to Azure.
|
|
|
|
# GitHub Action for Azure Login
|
|
With the Azure login Action, you can automate your workflow to do an Azure login using [Azure service principal](https://docs.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals) and run Az CLI scripts.
|
|
|
|
Get started today with a [free Azure account](https://azure.com/free/open-source)!
|
|
|
|
This repository contains GitHub Action for [Azure Login](https://github.com/Azure/login/blob/master/action.yml).
|
|
|
|
## Sample workflow that uses Azure login action to run az cli
|
|
|
|
```yaml
|
|
|
|
# File: .github/workflows/workflow.yml
|
|
|
|
on: [push]
|
|
|
|
name: AzureLoginSample
|
|
|
|
jobs:
|
|
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- uses: azure/login@v1
|
|
with:
|
|
creds: ${{ secrets.AZURE_CREDENTIALS }}
|
|
|
|
- run: |
|
|
az webapp list --query "[?state=='Running']"
|
|
|
|
```
|
|
|
|
## Configure Azure credentials:
|
|
|
|
To fetch the credentials required to authenticate with Azure, run the following command to generate an Azure Service Principal (SPN) with Contributor permissions:
|
|
|
|
```sh
|
|
az ad sp create-for-rbac --name "myApp" --role contributor \
|
|
--scopes /subscriptions/{subscription-id}/resourceGroups/{resource-group} \
|
|
--sdk-auth
|
|
|
|
# Replace {subscription-id}, {resource-group} with the subscription, resource group details of your keyvault
|
|
|
|
# The command should output a JSON object similar to this:
|
|
|
|
{
|
|
"clientId": "<GUID>",
|
|
"clientSecret": "<GUID>",
|
|
"subscriptionId": "<GUID>",
|
|
"tenantId": "<GUID>",
|
|
(...)
|
|
}
|
|
```
|
|
Add the json output as [a secret](https://aka.ms/create-secrets-for-GitHub-workflows) (let's say with the name `AZURE_CREDENTIALS`) in the GitHub repository.
|
|
|
|
# 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](https://opensource.microsoft.com/codeofconduct/).
|
|
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
|
|
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|