Merry Christmas!
Twikoo 是一个简洁、安全、免费的静态网站评论系统,基于腾讯云开发。
Twikoo 的作者提供了一键将 Twikoo 云函数部署到云开发环境中,但因为一些限制,只支持按量计费环境。使用包年包月的计费环境无法使用一键部署。
通过使用 CODING CI 功能,可以实现一键将 Twikoo 云函数部署到云开发中。
在开始本文前,你需要了解如何使用 CODING CI 功能实现云函数自动化部署,请戳这里。
重点是设置 SecretId 和 SecretKey,并将其加入 CODING 的凭据中。
新建一个构建计划,选择“自定义构建过程”,不使用代码源。
在流程环境变量中,加入刚刚添加的 Coding 凭据,变量名为 CREDENTIALSID。
直接编辑静态配置的 Jenkinsfile,代码如下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| 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 的保存,部署即可。
正常情况下,会看到如下的日志。

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

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