背景:在某些情况下需要执行某项操作时触发一系列操作,但是该应用本身不支持触发复杂操作,即有个中转方案。 云函数应用场景:语雀文章更新触发 Api -> 云函数 提供 API,并触发 http 请求 gitee 的 api -> gitee 的 hook 触发 jenkins 拉取代码自动构建
1.腾讯云函数
1.腾讯云控制台搜索 “云函数”,按步骤点击
2.新建云函数
1.选择从头开始,事件函数和 web 函数按照需求选择,函数名称自定义 2.运行环境,选择一个你熟悉的语言即可 3.其他选择默认,注意日志开启后需要额外付费(注意)
3.编写函数代码
1.选择从头开始,事件函数和 web 函数按照需求选择,函数名称自定义 2.运行环境,选择一个你熟悉的语言即可 3.其他选择默认,注意日志开启后需要额外付费(注意)
4.部署代码并运行测试
代码语言:javascript复制# -*- coding: utf8 -*-
import requests,time
text = time.strftime("%Y-%m-%d, %H:%M:%S", time.localtime())
def main_handler(event, context):
r = requests.post("https://gitee.com/api/v5/repos/leader755/blog-master/hooks/962871/tests",
json = {
"access_token":"46a96012ee7277e328b40041985c4352",
# "body":"语雀文章更新,gitee触发构建" str(text)
},
headers = {
"User-Agent":'curl/7.52.1',
'Content-Type': 'application/json;charset=UTF-8'})
if r.status_code == 204:
return "This's OK!"
else:
return r.status_code
5.创建触发器
创建触发器,选择 API 网关触发,选择免鉴权
6.触发器创建完成后会生成访问 API,可以直接访问 API 查看是否成功触发请求
7.成果展示
2.阿里云函数
1.阿里云控制台搜索 “函数计算 FC”,按步骤点击
2.创建服务,创建函数
1.选择内置运行时创建,选择处理 HTTP 请求 2.函数代码运行环境选择 python 3.触发器配置:请求方法选择全部,认证方式选择无需认证
3.编写函数代码,并部署测试
代码语言:javascript复制# -*- coding: utf8 -*-
import requests,time
text = time.strftime("%Y-%m-%d, %H:%M:%S", time.localtime())
def handler(event, context):
r = requests.post("https://gitee.com/api/v5/repos/leader755/blog-master/hooks/962871/tests",
json = {
"access_token":"自己的 token",
# "body":"语雀文章更新,gitee触发构建" str(text)
},
headers = {
"User-Agent":'curl/7.52.1',
'Content-Type': 'application/json;charset=UTF-8'})
if r.status_code == 204:
return "This's OK!"
else:
return r.status_code
4.触发器创建完成后会生成访问 API,可以直接访问 API 查看是否成功触发请求
5.成果展示
3.总结
阿里云函数和腾讯云函数总体来说使用和创建方法大同小异,还有些特殊的使用需要更近一步挖掘,期待下一篇文章,加油。