github 操作将更新复制到 azure 应用服务

Posted

技术标签:

【中文标题】github 操作将更新复制到 azure 应用服务【英文标题】:github actions copy updates to azure app service 【发布时间】:2022-01-12 03:21:16 【问题描述】:

我有一个 NodeJS 应用程序,我有一个工作流,可以在推送时安装所有依赖项并将应用程序部署到应用程序服务。

我想知道有没有办法将更新后的文件从 GitHub 复制到应用服务,而不是重新构建整个应用并重新部署?

【问题讨论】:

你如何编译你的应用程序?你用ncc吗?在您的情况下打包是否只是意味着复制一些文件?为什么只复制一些文件? 目前我使用工作流来构建应用程序并将其部署到应用程序服务。这是一个快速的网络应用程序。运行应用程序不需要构建过程。所以我希望说我更改了我的一个内部 js 文件,它只是将该文件复制到应用服务以进行替换。 或许看看rsync? 【参考方案1】:

根据 GitHub 工作流程,每当将更改推送到主分支时,都会再次构建应用程序,然后将其部署到应用程序服务。

可以查看GitHub工作流预览文件的步骤:

name: Build and deploy Node.js app to Azure Web App – App Service Name    
on:    
push:    
branches:    
- master    
workflow_dispatch:    
jobs:    
build:    
runs-on: ubuntu-latest   
 
steps:    
- uses: actions/checkout@v2    
- name: Set up Node.js version    
uses: actions/setup-node@v1    
with:

node-version: '12.x'    
- name: npm install, build, and test

run: |    
npm install    
npm run build --if-present    
npm run test --if-present    
- name: Upload artifact for deployment job

uses: actions/upload-artifact@v2    
with:    
name: node-app    
path: .    
deploy:    
runs-on: ubuntu-latest    
needs: build

environment:    
name: 'production'

url: $ steps.deploy-to-webapp.outputs.webapp-url     
steps:    
- name: Download artifact from build job    
uses: actions/download-artifact@v2    
with:

name: node-app    
- name: 'Deploy to Azure Web App'

id: deploy-to-webapp    
uses: azure/webapps-deploy@v2    
with:

app-name: AppServiceName    
slot-name: 'production'    
publish-profile: $ secrets.AzureAppService_PublishProfile_1234     
package: .

详情请咨询Configuring CI/CD with GitHub Repos。

【讨论】:

@Mitchell Day - 如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢

以上是关于github 操作将更新复制到 azure 应用服务的主要内容,如果未能解决你的问题,请参考以下文章

将文件从 SFTP 复制到 Blob 存储时并行执行 Azure 逻辑应用

使用 Github Actions 将 Next.js 部署到 Azure 应用服务的问题

无法通过 GitHub 将 Laravel php 应用程序部署到 azure

将数据从 Azure Blob 存储复制到 Azure SQLDB 时,Azure 数据工厂错误地复制单元格值

Azure 函数 Blob 触发器将文件复制到文件共享

我们如何将 azure 存储帐户表复制到另一个存储帐户?