用 Github Actions 自动部署阿里云函数计算 FC

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 介绍了如何配置阿里云函数计算(FC)与GitHub Actions集成以实现自动部署。首先在阿里云创建函数,然后在项目根目录创建`s.yaml`文件配置Serverless Devs。接着在GitHub仓库中设置 Secrets 存储阿里云账号信息,并创建名为`aliyun-fc-deploy.yaml`的工作流文件来定义GitHub Actions。当代码推送到`master`分支时,Actions会自动部署到函数计算。最后,成功配置后,提交代码会触发自动部署,并可在GitHub Actions和阿里云控制台查看部署状态。

概述

配置函数计算 FC

首先介绍在阿里云函数计算一侧需要进行的配置

创建函数

首先在阿里云创建好函数,具体步骤请参考阿里云文档,这里不再赘述
我这里的服务名称是 wildservice,函数名称是 surge-config

配置 Serverless Devs

阿里云函数计算推荐使用 Serverless Devs 工具在命令行下进行函数管理,在代码的根目录下创建一个 s.yaml 文件:

edition: 1.0.0
name: surge-config
access: default
services:
  fc-deploy:
    component: fc
    props:
      region: cn-hangzhou # 函数所在的 region
      service:
        name: wildservice # 服务名称
      function:
        name: surge-config # 函数名称
        codeUri: ./

这里需要依照你的实际情况修改服务名称、函数名称和所在 region

s.yaml 的参数还有很多,这里只配置了完成自动部署所需的基本几项,完整的配置可以参考文档


配置 Github Actions

下面进入 Github 一侧所需要的配置
Github Actions 的使用方法建议参考文档,这里仅介绍核心步骤

配置密钥

在 Github 仓库的 Setting 页面,找到 Security - Secrets and variables - Actions 选项,
将阿里云账号的 AccessKey 信息配置进来


这里需要创建 3 个 secrets:

  • ACCOUNT_ID:云账号 ID,通常在阿里云控制台点击右上角头像可以看到
  • ACCESS_KEY_ID:云账号的 AccessKeyId,通常在阿里云 RAM 访问控制页面可以看到
  • ACCESS_KEY_SECRET:云账号的 AccessKeySecret,也在上述页面可以看到


配置 Github Actions 工作流

工作流通过 YAML 文件来进行配置,具体参考文档

我们在代码根目录下创建 .github/workflows/aliyun-fc-deploy.yaml 文件:

name: Aliyun FC deploy
on:
  push:
    branches:
      - master
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 16
      - run: npm install
      - run: npm install -g @serverless-devs/s
      # 上一步配置的密钥就用在这里
      - run: s config add --AccountID ${{ secrets.ACCOUNT_ID }} --AccessKeyID ${{ secrets.ACCESS_KEY_ID }} --AccessKeySecret ${{ secrets.ACCESS_KEY_SECRET }} -a default
      - run: s deploy function --type code --use-local

大功告成

至此,每当我们将代码提交到 Github 仓库的 master 分支时,就会触发 Actions 将代码自动部署到函数计算

此时刷新 Github 仓库的 Actions 页面可以看到每次工作流的运行记录

点击标题进去还能看到详细日志


到阿里云控制台的函数计算页面上,也能看到部署的代码已经更新了

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
30天前
|
机器学习/深度学习 人工智能 Serverless
吉利汽车携手阿里云函数计算,打造新一代 AI 座舱推理引擎
当前吉利汽车研究院人工智能团队承担了吉利汽车座舱 AI 智能化的方案建设,在和阿里云的合作中,基于星睿智算中心 2.0 的 23.5EFLOPS 强大算力,构建 AI 混合云架构,面向百万级用户的实时推理计算引入阿里云函数计算的 Serverless GPU 算力集群,共同为智能座舱的交互和娱乐功能提供大模型推理业务服务,涵盖的场景如针对模糊指令的复杂意图解析、文生图、情感 TTS 等。
|
2月前
|
消息中间件 运维 监控
爆款游戏背后:尚娱如何借助阿里云 Kafka Serverless 轻松驾驭“潮汐流量”?
阿里云 Kafka 不仅为尚娱提供了高可靠、低延迟的消息通道,更通过 Serverless 弹性架构实现了资源利用率和成本效益的双重优化,助力尚娱在快速迭代的游戏市场中实现敏捷运营、稳定交付与可持续增长。
175 28
|
2月前
|
人工智能 机器人 Serverless
安诺机器人 X 阿里云函数计算 AI 咖啡印花解决方案
当云计算遇见具身智能,AI咖啡开启零售新体验。用户通过手机生成个性化图像,云端AI快速渲染,机器人精准复刻于咖啡奶泡之上,90秒内完成一杯可饮用的艺术品。该方案融合阿里云FunctionAI生图能力与安诺机器人高精度执行系统,实现AIGC创意到实体呈现的闭环,为线下零售提供低成本、高互动、易部署的智能化升级路径,已在商场、机场、展馆等场景落地应用。
安诺机器人 X 阿里云函数计算 AI 咖啡印花解决方案
|
1月前
|
人工智能 运维 安全
阿里云函数计算 AgentRun 全新发布,构筑智能体时代的基础设施
阿里云推出以函数计算为核心的AgentRun平台,通过创新体系解决开发、部署、运维难题,提供全面支持,已在多个真实业务场景验证,是AI原生时代重要基础设施。
|
2月前
|
人工智能 运维 安全
阿里云函数计算 AgentRun 全新发布,构筑智能体时代的基础设施
云原生应用平台 Serverless 计算负责人杨皓然在云栖大会发表主题演讲“Serverless Agent 基础设施:助力大规模 Agent 部署与运维”。本议题深入介绍了阿里云以函数计算为核心打造的 Agent 基础设施——AgentRun,阐述其如何通过创新的运行时、模型服务、网关及可观测体系,为企业构筑坚实、高效、安全的 Agent 时代基石。
|
前端开发 jenkins 应用服务中间件
GitHub Actions 部署前端项目
先把代码 npm run build,把生成的 dist 拿来,登录服务器,到指定目录页面,打开 ftp,手动上传 dist 中的文件
325 0
GitHub Actions 部署前端项目
|
3月前
|
JSON Kubernetes 安全
找到啦,我们已上车,Github 27000+ star,研发团队必备开源工具项目,真丝滑!!!
Trivy 是一款高效灵活的开源安全扫描工具,支持容器镜像、文件系统、Kubernetes 等多目标扫描,具备快速、易用、集成性强等特点,适用于 DevSecOps 全流程安全检测。
171 0
|
2月前
|
人工智能 JavaScript 前端开发
Github 2024-10-28 开源项目周报 Top15
本周GitHub热门项目涵盖Svelte、Open Interpreter、PowerShell等,涉及Web开发、AI助手、自动化工具等领域,Python、JavaScript为主流语言,展现开源技术活跃生态。(239字)
442 19
|
2月前
|
人工智能 JavaScript 前端开发
Github 2024-11-04 开源项目周报 Top14
本周GitHub热门项目涵盖屏幕截图转代码、网页监控、低代码开发等。Python与TypeScript主导,亮点项目包括AI生成代码工具、开源社交应用Bluesky及机器人框架LeRobot,展现AI与自动化技术的快速发展趋势。
207 15
|
2月前
|
人工智能 JavaScript Docker
Github 2024-11-11 开源项目周报 Top15
本周GitHub热门项目涵盖多领域:Python与TypeScript领跑,包括屏幕截图转代码、本地文件共享、PDF处理、AI开发代理等。亮点项目如screenshot-to-code、LocalSend、OpenHands及Diagrams,兼具创新与实用性,广受开发者关注。
267 13

相关产品

  • 函数计算