Releases: Azure/webapps-deploy
GitHub Action for Azure Web Apps and Web App for Containers
Automate your GitHub Actions workflow to deploy Azure Web Apps and Azure Web app for Containers using Azure Web App Publish Profile or using Azure Login.
Action supports publish profile for Azure Web Apps (both Windows and Linux) and Azure Web Apps for Containers (Linux only).
Usage
Sample workflow to build and deploy a Web App to Azure using publish profile
# File: .github/workflows/workflow.yml
on: push
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
# checkout the repo
- name: 'Checkout Github Action'
uses: actions/checkout@master
- name: Setup Node 10.x
uses: actions/setup-node@v1
with:
node-version: '10.x'
- name: 'npm install, build, and test'
run: |
npm install
npm run build --if-present
npm run test --if-present
- name: 'Run Azure webapp deploy action using publish profile credentials'
uses: azure/webapps-deploy@v2
with:
app-name: node-rn
publish-profile: ${{ secrets.azureWebAppPublishProfile }}
License
GitHub Action for Azure Web App is licensed under the MIT License.
Node version updated to 20 in webapps_deploy@v3
Node version updated to 20 in webapps_deploy@v3
Node version updated to 20 in webapps_deploy@v2
Node version updated to 20 in webapps_deploy@v2
Release version 3.0.0 🎉
Release v3
Moving from the older Zip Deploy API to Kudu Publish API for deploying your webapp via Github action webapps-deploy
.
Reason for migration
The reason for this change is the Publish API /api/publish/
has many more features over the older /zipdeploy/
API and it is also currently used in the Azure CLI, plugins for Maven and Gradle, it would be consistent with other deployment providers.
What it means for the existing users
- Users who are currently using the
webapps-deploy@v2
can still use the same action without any change in the workflow file. - Users who want to shift to the new workflow can use the
webapps-deploy@v3
to use the new Publish API features.
Features
- New workflow parameter
type
- The type of the artifact being deployed, this sets the default target path and informs the web app how the deployment should be handled.- Allowed values: JAR, WAR, EAR, ZIP, Static
- Ex:
- type=war: Deploy a WAR package. By default, the WAR package is deployed to /home/site/wwwroot/app.war. The target path can be specified with parameter target-path.
- New workflow parameter
target-path
- The absolute path to deploy the artifact to.- Allowed value: {string}
- Ex:
/home/site/wwwroot
- New workflow parameter
clean
- Specifies whether to clean (delete) the target deployment before deploying the artifact there.- Allowed values:
true/false
- Ex:
clean=true
- Allowed values:
- New workflow parameter
restart
- By default, the API restarts the app following the deployment operation (restart=true). To deploy multiple artifacts, prevent restarts on all but the final deployment by setting restart=false.- Allowed values:
true/false
- Ex:
restart=true
- Allowed values:
Example
- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@v3
with:
app-name: ${{ env.AZURE_WEBAPP_NAME }}
publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
package: '*.war'
type: (jar, war, zip, static)
clean: (true, false)
target-path: (i.e. /home/site/wwwroot/test, /home/site/wwwroot/test.war)
restart: (true, false)
What's Changed
- Migrate webapps-deploy to OneDeploy by @dannysongg in #360
New Contributors
- @dannysongg made their first contribution in #360
Full Changelog: v2.2.11...v3.0.0
v2.2.11
What's Changed
- Change images "required" value by @benjaminmillhouse in #302
- Releases/v2.2.11 by @sgollapudi77 in #359
New Contributors
- @benjaminmillhouse made their first contribution in #302
- @sgollapudi77 made their first contribution in #359
Full Changelog: v2...v2.2.11
Releases 2.2.10
Adding option for bearer auth for scm uri. #325
Release v2.2.9
Updated node modules.
Release v2.2.7
- Trimming Commit Message.
- Improving the error message on Deployment failures.
Release 2.2.6
-
Fix for the warning: DeprecationWarning: Invalid 'main' field in '/home/runner/work/actions/azure/webapps-deploy/v2/node_modules/actions-secret-parser/package.json' of 'lib/index.js'. Please either fix that or report it to the module author
-
Support to add resource group as optional parameter in the github action.
Minor release 2.2.5
Releases/v2.2.5 (#273) * Remove publish profile from logs (#18) * Remove publish profile from logs * ignore case for app name and slot * Fix typo in action.yml * Update README.md * Update README.md * Update README.md * Remove duplicate error messages (#23) * Update README.md * Added L0 tests and yml workflow * Workflow file added * Login&sample workflow * Sampleworkflow * Cloudshell quickstart * word correction * alignment * "create webapp in Azure using app service" * Publish prof container master (#35) * Added support for container apps with publish profile * Renamed publish profile container provider * refactor * Addressed review comments * Integrated diagnostics runtime API to get appOS * updated error message * updated error messages * updated error message * updated unit tests for publish profile container * quotes fix * changes in PublishProfileContainerWebAppValidator * refactor * added package-lock.json * adding lib * Documentation updates for publish profile container (#40) * updated action.yml * Update action.yml * Update action.yml * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Fixing typo * updating webappkind enum (#44) * Moving setresourcedetails into Publish profile container (#47) * change in validation factory * Update ValidatorFactory.js * fix for runtime os * update error log * updated error log * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * publish profile for slot deployment * updated document for slot * Fix private registry credentials example config (#58) * Expand explanation of az ad sp create-for-rbac in readme (#65) * Expanding explanation of az ad sp create-for-rbac * Small edits * Add note on managing service principals * Small clarifications, especially to heading * Clarify that examples are given in the article * Update secrets link * Bump @actions/core from 1.2.1 to 1.2.6 Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.2.1 to 1.2.6. - [Release notes](https://github.com/actions/toolkit/releases) - [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md) - [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core) Signed-off-by: dependabot[bot] <[email protected]> * Create issue-label-bot.yaml * New appkind support (#1) * New app-kind support * handling publish profile username scenarios * renamed test folder * renamed test folder in config file * added comments * Bump lodash from 4.17.15 to 4.17.20 (#72) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.20. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.20) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update README.md (#69) Placed a link to ensure that customers loop back to the pre-requisite section before building a Web App if they have skipped over it. * Update README.md (#80) * Update README.md * Update README.md (#82) * Fixed a small syntax error in the markdown 😊 (#84) * Update README.md (#87) * Make app-name and slot-name as lower case * Temp add node_modules * audit fix * update node version * temp commit for test * revert temp commit * remove node_modules * remove unnecessary file * Addressing comment * Update issue templates * Updated Readme for webapps-deploy actions (#97) * Update README.md * Update README.md * Update README.md Co-authored-by: Usha N <[email protected]> * added logs for multicontainer support (#104) * fix for duplicate duployment issue (#111) * Fix typo in error message (#116) * Fix typo in error message Change "credentails" to "credentials". * Fix typo in lib Also fix the typo in the built code in the lib folder. * Bump y18n from 4.0.0 to 4.0.1 Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/yargs/y18n/releases) - [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md) - [Commits](https://github.com/yargs/y18n/commits) Signed-off-by: dependabot[bot] <[email protected]> * Creating a workflow to label stale issues and PRs 1. Creating a workflow to label stale issues and PRs which have been open for 14 days with no activity. 2. Also close the stale issue in 5 days. PRs are not closed automatically as of now. * Update stale.yml * Update stale.yml * Updating trigger to run on a schedule only. * Update and rename stale.yml to defaultLabels.yml (#153) * Users/balaga gayatri/defaultlabels (#158) * Update and rename stale.yml to defaultLabels.yml * Update defaultLabels.yml * Update defaultLabels.yml * Update defaultLabels.yml * updating users/amkawade/kubeapp with master (#169) (#170) * updating users/amkawade/kubeapp with master (#169) * Bump lodash from 4.17.15 to 4.17.20 (#72) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.20. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.20) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update README.md (#69) Placed a link to ensure that customers loop back to the pre-requisite section before building a Web App if they have skipped over it. * Update README.md (#80) * Update README.md * Update README.md (#82) * Fixed a small syntax error in the markdown 😊 (#84) * Update README.md (#87) * Make app-name and slot-name as lower case * Temp add node_modules * audit fix * update node version * temp commit for test * revert temp commit * remove node_modules * remove unnecessary file * Addressing comment * Update issue templates * Updated Readme for webapps-deploy actions (#97) * Update README.md * Update README.md * Update README.md Co-authored-by: Usha N <[email protected]> * added logs for multicontainer support (#104) * fix for duplicate duployment issue (#111) * Fix typo in error message (#116) * Fix typo in error message Change "credentails" to "credentials". * Fix typo in lib Also fix the typo in the built code in the lib folder. * Bump y18n from 4.0.0 to 4.0.1 Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/yargs/y18n/releases) - [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md) - [Commits](https://github.com/yargs/y18n/commits) Signed-off-by: dependabot[bot] <[email protected]> * Creating a workflow to label stale issues and PRs 1. Creating a workflow to label stale issues and PRs which have been open for 14 days with no activity. 2. Also close the stale issue in 5 days. PRs are not closed automatically as of now. * Update stale.yml * Update stale.yml * Updating trigger to run on a schedule only. * Update and rename stale.yml to defaultLabels.yml (#153) * Users/balaga gayatri/defaultlabels (#158) * Update and rename stale.yml to defaultLabels.yml * Update defaultLabels.yml * Update defaultLabels.yml * Update defaultLabels.yml Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Rabeea Emad <[email protected]> Co-authored-by: Jason Freeberg <[email protected]> Co-authored-by: aksm-ms <[email protected]> Co-authored-by: Teo Voinea <[email protected]> Co-authored-by: Usha N <[email protected]> Co-authored-by: xaxle <[email protected]> Co-authored-by: Shivangi Mittal <[email protected]> Co-authored-by: 20shivangi <[email protected]> Co-authored-by: Amruta Kawade <[email protected]> Co-authored-by: Zainudeen V K <[email protected]> Co-authored-by: Usha N <[email protected]> Co-authored-by: Martin Costello <[email protected]> Co-authored-by: Kanchan Verma <[email protected]> * updating lib files * kubeapp lib files * resolving conflicts Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Rabeea Emad <[email protected]> Co-authored-by: Jason Freeberg <[email protected]> Co-authored-by: aksm-ms <[email protected]> Co-authored-by: Teo Voinea <[email protected]> Co-authored-by: Usha N <[email protected]> Co-authored-by: xaxle <[email protected]> Co-authored-by: Shivangi Mittal <[email protected]> Co-authored-by: 20shivangi <[email protected]> Co-authored-by: Amruta Kawade <[email protected]> Co-authored-by: Zainudeen V K <[email protected]> Co-authored-by: Usha N <[email protected]> Co-authored-by: Martin Costello <[email protected]> Co-authored-by: Kanchan Verma <[email protected]> * Users/balaga gayatri/multi container master (#171) * added multicontainer support for linux * resolve conflicts * Update PublishProfileWebAppValidator.js * Update SpnLinuxContainerWebAppValidator.js * Update SpnWindowsContainerWebAppValidator.js * Update SpnWindowsWebAppValidator.js * Update WebAppContainerDeployment.js * Update Validations.js * Update Validations.js * Update PublishProfileWebAppContainerDeploymentProvider.js * Update PublishProfileContainerWebAppValidator.js * added necessary conditions * Adding commit message to zipDeploy payload (#127) * added commit message to zipDeploy payload * added commit message to zipDeploy payload * Added input field to the action.yml * removed node_modules * removed nodemodules * Removed node_modules from source code * Users/balaga gayatri/commit message fix (#125) * added commit message to zipDeploy payload * added commit message to zipDeploy payload * Added input field to the action.yml * removed node_modules * removed nodemodules * Removed node_modules from source code * removed taking input through action.yml * removed node_modules after testing * Users/balaga gayatri/commit message fix (#126) * added commit message to zipDeploy payload without action.yml input * Update action.yml * Removing formatting * removed whitespaces * adding node_modules * adding node_modules * debugging for head_commit message * debugging for head_commit message * debugging for head_commit message * debugging for head_commit message * Added empty commit message for non push github event * Update main.ts * Update main.ts * Users/balaga gayatri/commit message fix (#131) * Added empty commit message for non push github event * changes * added node_modules * node_modules * updated lib file * whitespace changes * Bump ws from 7.3.1 to 7.4.6 (#155) Bumps [ws](https://github.com/websockets/ws) from 7.3.1 to 7.4.6. - [Release notes](https://github.com/websockets/ws/releases) - [Commits](https://github.com/websockets/ws/compare/7.3.1...7.4.6) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump hosted-git-info from 2.8.8 to 2.8.9 (#139) Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9. - [Release notes](https://github.com/npm/hosted-git-info/releases) - [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md) - [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump lodash from 4.17.20 to 4.17.21 (#137) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Create CODEOWNERS (#175) * Remove windowsContainerAppNotAllowedForPublishProfile validator. (#134) * Fix typo in command name `az ad sp create-for-rbac` (#179) Everything else refers to `sp` so I assume this is just a typo. * Fix README to mention Windows container can also publish via publishing profile (#185) * Remove windowsContainerAppNotAllowedForPublishProfile validator. * Fix readme to mention Windows container can also publish using publishing profile. * Users/balaga gayatri/prchecksrepo (#163) * Create intergation-tests.yml * Create InvokeL2RepoDispatchEvent.sh * Update intergation-tests.yml * Update InvokeL2RepoDispatchEvent.sh * Update intergation-tests.yml * Delete InvokeL2RepoDispatchEvent.sh * Delete intergation-tests.yml * Create webapp_dotnet_windows_code.yml * Update webapp_dotnet_windows_code.yml * Update webapp_dotnet_windows_code.yml * Update webapp_dotnet_windows_code.yml * Update webapp_dotnet_windows_code.yml * Create webapp_python_linux_code.yml * Delete webapp_dotnet_windows_code.yml * Update webapp_python_linux_code.yml * Update webapp_python_linux_code.yml * Update webapp_python_linux_code.yml * Update webapp_python_linux_code.yml * Update webapp_python_linux_code.yml * Update webapp_python_linux_code.yml * Update webapp_python_linux_code.yml * Update webapp_python_linux_code.yml * Update webapp_python_linux_code.yml * Update and rename webapp_python_linux_code.yml to pr_check_webapp_dotnet_windows.yml * Update pr_check_webapp_dotnet_windows.yml * Update pr_check_webapp_dotnet_windows.yml Added automation test environment * Update pr_check_webapp_dotnet_windows.yml * Update pr_check_webapp_dotnet_windows.yml * Update pr_check_webapp_dotnet_windows.yml * Update pr_check_webapp_dotnet_windows.yml * Update pr_check_webapp_dotnet_windows.yml * Update pr_check_webapp_dotnet_windows.yml * Create pr_check_windows_container_pubprofile.yml * Update pr_check_windows_container_pubprofile.yml * Update pr_check_windows_container_pubprofile.yml * Update pr_check_windows_container_pubprofile.yml * Update pr_check_webapp_dotnet_windows.yml * Update pr_check_windows_container_pubprofile.yml Co-authored-by: Kanika Pasrija <[email protected]> * Rename CODEOWNERS to CODEOWNER * Delete CODEOWNER * Create CODEOWNERS * Rename bug-report---feature-request.md to bug-report-feature-request.md * Update pr_check_webapp_dotnet_windows.yml * Update pr_check_windows_container_pubprofile.yml * Update pr_check_webapp_dotnet_windows.yml * Update pr_check_windows_container_pubprofile.yml * Update README.md * Trim commit message to not include description * Updating the workflow files with new resources (#249) * Update pr_check_windows_container_pubprofile.yml * Update pr_check_webapp_dotnet_windows.yml * Update pr_check_windows_container_pubprofile.yml (#250) * add sample github action yml for go apps on azure app services * Added node version 16 in action.yml at line no.35 (#264) This change was done for below warning message. : Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: azure/webapps-deploy@v2 * Update @actions/core (#258) * node modules updated * Removed workflow file and test folder * fixed the merge conflicts * node modules updated * Releases/v2.2.5 new pr (#274) * Limit the length of commit message (#271) * Limit the length of commit message * Refactor * Added comment Co-authored-by: Akshay Kumar <[email protected]> * updating packages Co-authored-by: Akshay Kumar <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Sumiran Aggarwal <[email protected]> Co-authored-by: asranja <[email protected]> Co-authored-by: Ashish Ranjan <[email protected]> Co-authored-by: UshaN <[email protected]> Co-authored-by: Eavanshi Arora <[email protected]> Co-authored-by: Eavanshi Arora <[email protected]> Co-authored-by: harshitha1112 <[email protected]> Co-authored-by: aksm-ms <[email protected]> Co-authored-by: Orta Therox <[email protected]> Co-authored-by: Arjun Gupta <[email protected]> Co-authored-by: Amruta Kawade <[email protected]> Co-authored-by: Amruta Kawade <[email protected]> Co-authored-by: Gustav Tonér <[email protected]> Co-authored-by: Kraig Brockschmidt <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Rabeea Emad <[email protected]> Co-authored-by: Jason Freeberg <[email protected]> Co-authored-by: Teo Voinea <[email protected]> Co-authored-by: Shivangi Mittal <[email protected]> Co-authored-by: 20shivangi <[email protected]> Co-authored-by: Zainudeen V K <[email protected]> Co-authored-by: Usha N <[email protected]> Co-authored-by: Martin Costello <[email protected]> Co-authored-by: Kanchan Verma <[email protected]> Co-authored-by: Balaga Gayatri <[email protected]> Co-authored-by: chunye <[email protected]> Co-authored-by: Thibaud Colas <[email protected]> Co-authored-by: Kanika Pasrija <[email protected]> Co-authored-by: Nathan Bierema <[email protected]> Co-authored-by: shpraka <[email protected]> Co-authored-by: Shubham Jain <[email protected]> Co-authored-by: Shubham Jain <[email protected]> Co-authored-by: chetan-vaidya3d <[email protected]> Co-authored-by: erik-itland <[email protected]> Co-authored-by: Shashi Prakash <[email protected]> Co-authored-by: Akshay Kumar <[email protected]>