With the Azure App Service Actions for GitHub, you can automate your workflow to deploy Azure Web Apps using GitHub Actions.
A repo for Sample apps and sample workflows.
This repository contains the GitHub Action for building Azure Web Apps on Linux using the Oryx build system. Currently, the following platforms can be built using this GitHub Action:
- Golang
- Java
- .NET Core
- Node
- PHP
- Python
- Ruby
Note: as this list may become out of date, please refer to this document in the Oryx repository for a more accurate list of platforms and their versions that can be built.
If you are looking for a GitHub Action to deploy your Azure Web App, consider using
azure/webapps-deploy
.
If you are looking for a GitHub Action to build and deploy Azure Container Apps, consider using
azure/container-apps-deploy-action
The definition of this GitHub Action is in action.yml
.
actions/checkout
- Checkout your Git repository content into the GitHub Actions agent
-
- Deploy a web app to Azure
-
azure/container-apps-deploy-action
- Build and deploy an Azure Container App
The following is a sample of a workflow that builds a web app in a repository whenever a commit is pushed:
on: push
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Cloning repository
uses: actions/checkout@v1
- name: Building web app
uses: azure/appservice-build@v3
with:
platform: <PLATFORM_NAME>
platform-version: <PLATFORM_VERSION>
source-directory: <SOURCE_DIR>
output-directory: <OUTPUT_DIR>
The following is a sample workflow that builds a web app in a repository and then deploys it to Azure whenever a commit is pushed:
on: push
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Cloning repository
uses: actions/checkout@v1
- name: Building web app
uses: azure/appservice-build@v3
with:
platform: <PLATFORM_NAME>
platform-version: <PLATFORM_VERSION>
source-directory: <SOURCE_DIR>
output-directory: <OUTPUT_DIR>
- name: Deploying web app to Azure
uses: azure/webapps-deploy@v1
with:
app-name: <WEB_APP_NAME>
publish-profile: ${{ secrets.AZURE_WEB_APP_PUBLISH_PROFILE }}
The following variables should be replaced in your workflow:
-
<WEB_APP_NAME>
- Name of the web app that's being deployed
- Required - Used only for the
azure/webapps-deploy
GitHub Action
-
<PLATFORM_NAME>
- Programming platform used by the web app that's being deployed
- Optional - Oryx will detect the provided application's platform if not provided
-
<PLATFORM_VERSION>
-
<SOURCE_DIR>
- Relative path (within the repo) to the source directory of the web app that's being deployed
- Optional - The value of
GITHUB_WORKSPACE
environment variable will be used if not provided
-
<OUTPUT_DIR>
- The directory where the build output will be copied to
- Optional - The build output will not be copied to a separate directory if not provided
The following variable should be set in the GitHub repository's secrets store:
AZURE_WEB_APP_PUBLISH_PROFILE
- The contents of the publish profile file (
.publishsettings
) used to deploy the web app; for more information on setting this secret, please see theazure/webapps-deploy
action
- The contents of the publish profile file (
For more information about Microsoft's privacy policy, please see the PRIVACY.md
file.
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include Microsoft, Azure, DotNet, AspNet, Xamarin, and our GitHub organizations.
For more information about Microsoft's privacy policy, please see the SECURITY.md
file.
To disable this GitHub Action from collecting any data, please set the environment variable ORYX_DISABLE_TELEMETRY
to
true
, as seen below:
- name: Building web app
uses: azure/appservice-build@v3
env:
ORYX_DISABLE_TELEMETRY: true
For more information on contributing to this project, please see the CONTRIBUTING.md
file.
For more information on contributing to this project, please see the LICENSE.md
file.