如何创建可从GitHub仓库代码部署的IBM Cloud Functions动作
基于GitHub代码部署IBM Cloud Functions动作操作指南
前置准备
- 本地已安装IBM Cloud CLI及Cloud Functions插件,且已通过
ibmcloud login完成账号认证,切换到对应资源组与部署区域 - GitHub仓库中已上传符合Cloud Functions运行时规范的动作代码,代码入口函数符合对应语言要求(如Node.js的
main函数、Python的def main(params):结构)
方案1:GitHub Action自动化部署(推荐,提交代码自动同步)
- 在你的GitHub仓库中创建路径为
.github/workflows/deploy-ibm-functions.yml的工作流配置文件 - 写入以下配置内容,替换对应占位参数:
name: 部署IBM Cloud Functions动作 on: push: branches: [ main ] # 可修改为你需要触发部署的分支 jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: 安装IBM Cloud CLI及插件 run: | curl -fsSL https://clis.cloud.ibm.com/install/linux | sh ibmcloud plugin install cloud-functions - name: 登录IBM Cloud run: ibmcloud login --apikey ${{ secrets.IBM_CLOUD_API_KEY }} -r 你的部署区域 -g 你的资源组名称 - name: 部署动作 # 如果是更新已存在的动作,将create改为update即可 run: ibmcloud fn action create 你的动作名称 仓库内代码文件路径 --kind 运行时版本 --web true
- 进入IBM Cloud控制台生成拥有Cloud Functions编辑权限的API密钥,将该密钥添加到GitHub仓库的
Settings→Secrets and variables→Actions中,Secret名称设置为IBM_CLOUD_API_KEY - 后续你向指定分支推送代码时,系统会自动执行工作流,将最新代码部署为Cloud Functions动作
如果动作依赖第三方依赖,需要将代码和依赖一起打包为zip包上传到仓库,部署命令中对应文件路径替换为zip包路径即可
方案2:单次手动从GitHub拉取代码部署
如果不需要自动同步,仅需单次基于GitHub代码创建/更新动作,可直接执行CLI命令:ibmcloud fn action create 动作名称 --kind 运行时版本 --web true GitHub代码文件的原始访问链接
注意:使用的GitHub链接必须是文件的「原始(Raw)」访问链接,不能是普通的仓库文件预览页面链接
绑定触发器
动作部署完成后,即可正常在Cloud Functions控制台或通过CLI将目标触发器与该动作绑定,触发器触发时会自动运行从GitHub部署的代码。
内容的提问来源于stack exchange,提问作者Itzel Acevedo
相关产品推荐
相关产品推荐

