使用 CODING CI 一键更新 Twikoo 云函数

使用 CODING CI 一键更新 Twikoo 云函数

发表于 2020/12/25 更新于 2020/12/25 347 字 2 分钟
AI 摘要 由 AI 自动生成

|

Merry Christmas!

Twikoo 是一个简洁、安全、免费的静态网站评论系统,基于腾讯云开发。

Twikoo 的作者提供了一键将 Twikoo 云函数部署到云开发环境中,但因为一些限制,只支持按量计费环境。使用包年包月的计费环境无法使用一键部署。

通过使用 CODING CI 功能,可以实现一键将 Twikoo 云函数部署到云开发中。

在开始本文前,你需要了解如何使用 CODING CI 功能实现云函数自动化部署,请戳这里

重点是设置 SecretId 和 SecretKey,并将其加入 CODING 的凭据中。

新建一个构建计划,选择“自定义构建过程”,不使用代码源。

在流程环境变量中,加入刚刚添加的 Coding 凭据,变量名为 CREDENTIALSID。

直接编辑静态配置的 Jenkinsfile,代码如下。

pipeline {
    agent {
    docker {
      reuseNode true
      registryUrl 'https://coding-public-docker.pkg.coding.net'
      image 'public/docker/nodejs:12'
    }
  }
  stages {
    stage('拉取Twikoo最新源码') {
      steps {
        echo '正在更新源码...'
        sh 'git clone https://e.coding.net/imaegoo/twikoo/twikoo.git'
      }
    }
    stage('更新云函数') {
      steps {
        echo '安装Cloudbase-Cli'
        sh 'npm i -g @cloudbase/cli'
        echo '使用令牌登录Cloudbase-Cli'
        withCredentials([cloudApi(credentialsId: env.CREDENTIALSID, secretIdVariable: 'CLOUD_API_SECRET_ID', secretKeyVariable: 'CLOUD_API_SECRET_KEY')]) {
          sh 'tcb login --apiKeyId "${CLOUD_API_SECRET_ID}" --apiKey "${CLOUD_API_SECRET_KEY}"'
        }

        echo '更新Twikoo云函数'
        sh 'tcb fn deploy "${functionName}" -e "${tcbEnvId}" --force --dir ./twikoo/src/function/twikoo'
      }
    }
  }
  environment {
    tcbEnvId = 'TCB 环境ID'
    functionName = 'twikoo云函数名'
  }
}

填写对应的环境变量,tcbEnvId 为 CloudBase 云开发云环境的环境 ID,functionName 是 twikoo 的云函数名,默认为 twikoo。

完成对 Jenkinsfile 的保存,部署即可。

正常情况下,会看到如下的日志。

1608810888

每次作者更新了云函数,只要点击这里重新部署即可。

20201224195349

或者,你还可以使用 API 方式进行触发。

20201224195807

作者: 小谈谈
声明: 本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。