前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【腾讯云Serverless】Github Actions自动部署云函数

【腾讯云Serverless】Github Actions自动部署云函数

原创
作者头像
Juli
发布2019-09-21 21:48:18
15K0
发布2019-09-21 21:48:18
举报

Github Actions是什么

Github,从事IT行业的各位应该都知道,即一个代码托管的服务平台。

Github Actions是Github近来推出的新功能,能够自动化构建,部署我们的github项目。

个人认为,对标现成的工具,例如Travis CI,Jenkins,是Github官方的CI/CD工具。

具体的Github Actions的入门,这里不赘述,各位可以去以下的网址进行深入了解。

Github Help: https://help.github.com/en/categories/automating-your-workflow-with-github-actions

Github Actions 入门教程:http://www.ruanyifeng.com/blog/2019/09/getting-started-with-github-actions.html

腾讯云云函数与CI/CD

传统的架构一般需要把整个可运行的代码,部署到服务器。与传统的架构不同,Serverless架构需要把项目拆成多个云函数,然后进行部署。

个人理解,虽然架构模式不一样,但是软件开发的生命周期是一样的。无论是传统的架构还是Serverless,在部署前都得经过编译,构建,测试等。这些大多是重复的工作,所以接入CI/CD是解放生产力,提高效率,保证项目质量的一个必经之路。Serverless架构亦是需要CI/CD。

所以此篇文章旨在,使用Github Actions来自动部署腾讯云云函数来展示,Serverless如何和现有的CI/CD工具结合,来自动化整个发布流程。

前期准备

1、得注册一个Github的账户

2、得注册一个腾讯云的账户

3、Github Actions仍处于Beta阶段,需要体验得去 https://github.com/features/actions 进行排队申请使用资格。

4、了解 SCF CLI工具的使用,https://cloud.tencent.com/document/product/583/33445

实践过程

1、申请到使用资格后,可在github项目中看到新增了 Actions 的选项卡。可以点击进去看看里面会有什么。

2、使用SCF CLI工具部署云函数需要用到腾讯云的API 秘钥。

秘钥获取可以前往腾讯云控制台,https://console.cloud.tencent.com/cam/capi 获取。

然后Github Actions提供了secrets,可以将API秘钥此类隐私信息保存在secrets中。

点击Settings,可以看到Secrets,点击Secrets,可以来到如下页面,进行编辑。

3、github新建一个项目。

git clone到本地,进入到项目根目录,使用SCF CLI工具初始化一个函数。

eg:

代码语言:javascript
复制
git clone https://github.com/Juliiii/test-scf-github-actions.git

cd test-scf-github-actions

scf init --runtime nodejs8.9

4、点击github项目的Actions的选项卡,进行编辑自动化工作流的yml文件。

具体操作,请各位自行去实践。

下面是我实践时编写的一个yml文件。每一步的含义都提供给各位注释

eg:

代码语言:javascript
复制
name: CI

on: [push] # push时触发

jobs:
  build:
    runs-on: ubuntu-latest # 执行环境为ubuntu-latest
    steps:
    - uses: actions/checkout@v1 # 现成actions,获取源码
    - uses: actions/setup-node@v1 # 安装nodejs,版本指定10
      with:
        node-version: '10.x'
    - name: npm install # 安装函数的依赖
      run: cd hello_world && npm install
    - name: pip --version
      run: pip --version
    - name: install SCF CLI # 安装SCF CLI
      run: sudo pip install scf
    - name: scf configure # scf cofigure, 配置appid, 地域和api秘钥等信息
      env: 
        APPID: 1252618971
        REGION: ap-guangzhou
        SECRET_ID: ${{ secrets.TENCENTCLOUD_SECRET_ID }} # 值存放在第二步所说的secrets中
        SECRET_KEY: ${{ secrets.TENCENTCLOUD_SECRET_KEY }} # 同上
      run: scf configure set --appid $APPID --region $REGION --secret-id $SECRET_ID --secret-key $SECRET_KEY
    - name: scf deploy # scf deploy
      run: scf deploy -t ./hello_world/template.yaml -f
  

5、之后push函数代码到github仓库后,github会自动根据我们编写的yml文件进行代码的获取,安装依赖和部署。

以下是某次构建的全部流程。

总结

以上是本人了解到Github Actions后,考虑到和腾讯云云函数的结合可能性,做的一次简单的实践。大家可以看到流程是可以走通的。至于更多的丰富用法,例如增加自动化测试,增加代码检查等,大家都可以依托自己的阅读和实践能力去完善。其实大家也可以发现,与传统架构不同,其中一点在于部署的终点不一样,传统架构部署在虚拟机,docker等,而Serverless部署在云供应商提供的云服务上,只要借助云供应商提供的开发者工具,即可自动化Serverless项目整个的构建发布流程。

实践项目的github地址:https://github.com/Juliiii/test-scf-github-actions

Less is More。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Github Actions是什么
  • 腾讯云云函数与CI/CD
  • 前期准备
  • 实践过程
  • 总结
相关产品与服务
云函数
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档