自动化部署

最近更新时间:2025-06-12 15:25:41

我的收藏

操作场景

在 Serverless 应用开发过程中,通常需要手动执行部署命令,将本地项目部署到云端。为提升开发效率,可以通过引入 CI(持续集成)能力,实现 Serverless 应用的自动化部署。本文向您介绍基于 GitHub 的自动化部署。

前提条件

已创建 Serverless 应用项目。参考 开发项目 创建您的 Serverless 项目并创建各个环境与分支。
已托管您的 Serverless 项目到 Github。

操作步骤

在开发测试阶段,为了方便开发、测试和调试,希望代码每次提交后进行自动化部署。操作如下:
1. 选取一个您需要执行自动化部署的分支(本示例选择 dev 分支)。
2. 在该分支下创建您的 action。


注意:
GitHub 规定如果事件发生在特定仓库分支上,则工作流程文件必须存在于该分支的仓库中 。
3. 配置腾讯云密钥。


4. 配置 action 部署步骤。
# 当代码推送到 dev 分支时,执行当前工作流程
# 更多配置信息: https://docs.github.com/cn/actions/getting-started-with-github-actions
name: deploy serverless
on: #监听的事件和分支配置
push:
branches:
- dev
jobs:
test: #配置单元测试
name: test
runs-on: ubuntu-latest
steps:
- name: unit test
run: ''
deploy:
name: deploy serverless
runs-on: ubuntu-latest
needs: [test]
steps:
- name: clone local repository
uses: actions/checkout@v2
- name: install serverless
run: npm install -g serverless-cloud-framework
- name: install dependency
run: npm install
- name: build
run: npm build
- name: deploy serverless
run: scf deploy --debug
env: # 环境变量
STAGE: dev #您的部署环境
SERVERLESS_PLATFORM_VENDOR: tencent #serverless 境外默认为 aws,配置为腾讯
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }} #您的腾讯云账号 secret ID
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }} #您的腾讯云账号 secret key
完成上述配置后,开发者每次提交代码到 dev 分支时,就会自动部署。