ci流程

阅读: 评论:0

ci流程

ci流程

ci流程

聊天机器人无处不在。 突然,我们的消息传递服务被小型的自动化系统所淹没,这些自动化系统在人对人的通信领域中占据着空间。 现在,我们可以与机器人进行对话,以帮助我们购买产品,预订旅行,开会,解决客户服务问题等等。

在柏林,现在有两个专门针对机器人的聚会,他们引起了我的兴趣,我写了一系列有关如何使用和创建它们的文章。 当然对于Codeship,它必须是帮助您构建,部署或监视应用程序的机器人。

什么是机器人?

首先,让我们介绍一下机器人实际上是什么。 机器人不是一个新概念。 过去,它们是程序员通过创建一个自动化系统来试图说服一个人他们正在与另一个人说话(并通过图灵测试 )的方法来提高自己的技能。 近年来,它们已经成为我上面概述的聊天平台中所使用的系统。 但总而言之,机器人会处理自然语言(文本或口头语言),对其进行解释,做出响应,然后它就开始了。

机器人有两种主要形式:

  • 那些基于有限用途的预编程规则。
  • 那些基于机器学习的方法,它以一组训练数据开始并在其工作时进行学习。

对于本文的其余部分,我将坚持使用第一种更简单的类型。 第二种类型要复杂得多,对于本文的需要,简单的类型就足够了。 僵尸程序可以独立存在,也可以是现有消息传递平台的一部分,因此再次出于简单性和适当性,我将在本文中使用Slack。

为松弛构建机器人

如果您不使用或不了解Slack ,那么它是团队的流行消息应用程序。 但其最酷的功能是集成度。 它允许使用大量令人眼花options乱的选项,以使应用程序简化您的工作流程,但本文介绍了bot用户选项。

尽管每个消息传递平台都提供了用于管理漫游器的不同选项,但您仍然需要编写代码。 Slack有两个建议来删除您需要的许多样板代码: node-slack-client和BotKit (您也可以将其用于在其他平台上构建bot)。

我选择了BotKit。 起初,我努力使它工作不是因为缺少文档(因为有可用的负载),而是由于许多教程与时俱进。 Slack不断变化的API,很难知道哪个是最准确的。 最终,我发现本教程对我有用,并且我建议您在步骤3和步骤4中也趁机定制您的机器人。 这是我的截图。

完成所有步骤后,您应该在指定团队中拥有一个可以发布命令的机器人。 尝试使用@bot-name color@bot-name uptime

如果您打开下载的代码,将会看到它是JavaScript。 您可以在技能文件夹中添加自定义“技能”,然后BotKit将加载它们。 在该文件夹中创建一个名为codeship.js的新文件,并添加以下样板代码:

ports = function(controller) {}

机器人将使用Codeship API访问我们帐户的某些详细信息。 幸运的是,已经有人创建了可以使用的节点模块 。 将其添加到package.json ,运行npm install ,并将其包含在codeship.js中

var Codeship = require('codeship-node');
var codeship = new Codeship({apiKey: '<api-key>'});

现在,展开您创建的控制器:

ports = function(controller) {controller.hears('projects', 'direct_message,direct_mention', function (bot, message) {codeship.projects.list(function (err, projects) {if (err) {ply(message, "I'm sorry, there was an error retrieving projects from CodeShip.");}for (var i in projects) {ply(message, projects[i].repository_name + ' - /' + projects[i].id);}});});
};

controller.*方法允许您响应某些事件。 在这种情况下, controller.hears ( 此处的文档 )匹配某些短语和关键字。 作为参数,它接受模式作为确切的单词或正则表达式字符串,要侦听的消息事件的类型(BotKit在其支持的所有平台上抽象出大多数消息事件,但有特定的),可选的中间件函数和打回来。

codeship.projects.list函数来自您先前安装的npm模块,它返回所有Codeship项目。 基于函数调用的成功,我们使用方法( 此处的文档 ),该方法接受传入的消息对象(其本身包含有关消息的元数据),要发送的响应文本以及可选的回调作为参数功能。

如您所见,将响应添加到其他关键字或短语以触发其他Codeship端点相对简单。 如果您有兴趣添加更多内容,那么我已经创建了一个基本的代码存储库 ,并且欢迎您提出请求,使该机器人更有用。

要启动应用程序,请在应用程序文件夹中运行此程序: clientId="<client-id>" clientSecret="<client-secret>" PORT=3000 node .

使用ngrok之类的工具将您的计算机公开到Internet并打开它生成的URL。 当您单击看到的大型Slack按钮时,机器人将要求您访问您的团队频道。

包装你的机器人

太好了,该机器人已在本地测试并可以运行,但是在您的计算机或GitHub中使用它并没有太多用处。 要广泛分发它,它需要在可公开访问的服务器上运行。 我在这里将我的网站托管在Heroku上,然后更新了身份验证和事件URL以匹配新地址。

Slack有一个分发清单清单,可以在分发到全世界之前运行,在“ 管理分发清单”选项卡下可用。 但是要进入该列表,您需要完成先前的步骤。 如果到目前为止,您已经执行了所有步骤,那么除了将要求您确保已删除所有硬编码URL的步骤之外,大多数步骤都将完成。 由于此应用程序没有任何内容,因此请选中该框。

最终列表要求您检查详细信息,例如范围(机器人访问用户的详细信息),用户体验,侵犯版权,登录页面等。 在某些方面,完成这些步骤可能比首先创建机器人更复杂。

由于本教程中的bot还没有准备好迎接黄金时段,并且Slack审查了所有bot,因此我尚未将其发送到发行版。 但是,如果您像我在上面提到的那样渴望帮助我,那么我相信我们可以尽快提交它,并拥有一个每个人都可以使用的机器人。

翻译自: .html

ci流程

本文发布于:2024-01-29 06:57:39,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170648266013514.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:【TS】1092
标签:流程   ci
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23