首页 > 解决方案 > 在无服务器部署上调用 github 工作流

问题描述

我有一个我正在尝试部署的带有 aws lambda 的无服务器 nodejs 项目。在部署之前,我想解密某些文件,然后触发实际部署

这是我在.github/workflows目录中的main.yml文件的内容

name: Test

on: [deployment]

jobs:
  build:

    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@test
    - name: Decrypting files
      run: <decrypt commands here>
    - name: Actual Serverless Deployment
      run: sls deploy -s staging

如果我执行 sls deploy,它不会被调用。如果我触发sls deploy命令,我很感兴趣 github 将如何知道它是一个部署事件。请帮助我了解何时触发上述部署事件。我想要实现的是启动一个部署命令(即sls deploy -s staging等)并调用上述工作流程 ->(action1)解密文件 ->(action2)触发对 lambda 的实际部署。

PS:确切的事情在 git push 上运行良好,但我不希望它在每次推送到 repo 时都部署。

请帮助我理解这一点。我对 github 工作流程非常陌生。

标签: githubaws-lambdaserverless-frameworkgithub-actionsgit-workflow

解决方案


deployment事件在部署开始、完成等时发生。您可以使用 Github Api 创建部署:(POST /repos/:owner/:repo/deployments此处的更多详细信息:https ://developer.github.com/v3/repos/deployments/#create-a-deployment )

或者,您可以使用

on:
  push:
    branches:
    - master

仅当某些内容合并到 master 时才运行您的工作流程。


推荐阅读