github - 在无服务器部署上调用 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 工作流程非常陌生。
解决方案
该deployment
事件在部署开始、完成等时发生。您可以使用 Github Api 创建部署:(POST /repos/:owner/:repo/deployments
此处的更多详细信息:https ://developer.github.com/v3/repos/deployments/#create-a-deployment )
或者,您可以使用
on:
push:
branches:
- master
仅当某些内容合并到 master 时才运行您的工作流程。
推荐阅读
- php - 安全存储从 Docker 容器访问的 MySQL 凭据
- python - 根据 GroupBy 之后的特定列对数据框进行排序
- python - Pandas:按两列或更多列分组
- html - 悬停在 Bootstrap 按钮图标上时显示半圆形效果
- python - PyMongo 根据字段值查找 json 对象
- node.js - 尽管存在数据,猫鼬 populate() 仍返回未定义
- javascript - Javascript没有从输入字段中读取单个字符
- java - Java:如何重构我的代码以减少冗余?
- node.js - nodejs twitter api 通过多个公共帐户或 screen_names 获取推文
- parsing - 检索子字符串自动热键