开发者社区> 问答> 正文

如何测试 CI/CD?

如何测试 CI/CD?

展开
收起
1358896759097293 2021-03-11 23:00:58 1009 0
来自:云开发平台
1 条回答
写回答
取消 提交回答
  • 45271990@qq.com

    第一步,解压缩一个 Hook。Hook 可以用 Java 来写,也可以用 js 来写,它只是一个 暴露的服务,通过一个预定义的端口来提供服务。然后在服务里想让它做什么都可以,比如 想在脚本里执行一些记录日志、安全审核、发送警告等操作,都是可以的。我们就可以把执 行开发部署指令写到 Hook 中。在帮助文档中有提供一个已经写好的 JavaScript Hook。 我们将 Gitlab 里面的 Hook 端口设置为 8080。写好之后往下拉,有个叫 Trigger 的触发器,勾选这个触发器下面的选项,那么就可以用选项对应的方式执行上面写 的脚本的操作。比如选择 push event。让仓库在发生 push 时自动调用 Hook 来引起 CI/ CD 流程。给大家看我已经写好的一个脚本,这个是用 Node.js 写的。它的核心逻辑是 对 3002 端口提供了监听,而监听里面只需要填一个路径,就是 Hook 脚本暴露出来的路 径。每次调 CI 的时候,它都会执行如下图表述的逻辑,一共两步:第一步去 Gitlab 仓库拉 取代码(这步可有可无,你也可以自己添加一些其它业务逻辑),第二步调 CI/CD 流程。从这个逻辑里可以看出,第二步调 CI/CD 流程时执行了 workbench.cicd.js 这个脚本。 这个脚本会完成从云开发平台控制台里面点击部署,然后从部署到打包代码,再把代码部署 到云开发平台的一系列流程。 在帮助文档中,我们可以看到上面演示的关于 CI/CD 集成的步骤,第一步下载 CI/CD hook,它有两个文件:第一个是 workbench.js 脚本,第二个是 package.json 一个依 赖。

    测试 首先在本地把 server.js 脚本跑起来。这就是一个小型的服务器,它为本地开启这样一 个端口,使得 Web Hook 执行 push 操作的时候可以通过这个端口调用服务。 然后点击 push event,发起一次发布。那么可以看到脚本已经开始执行 CI/CD 的工 作了,可以看到他自动执行,跟从控制台里去点部署后的操作是一样的。 当这个域名它绑到 API 网关的二级域名,就说明部署成功了。

    2021-03-14 22:35:54
    赞同 展开评论 打赏
问答标签:
问答地址:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
移动互联网测试到质量的转变 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载
F2etest — 多浏览器兼容性测试整体解决方案 立即下载