当前位置: 首页 > 面试题库 >

使用Slack启动Jenkins构建

陶寒
2023-03-14
问题内容

我们将擦除Mac
Mini并从头开始重新安装新的XCode和Jenkins。我们最近才开始使用Slack,我们希望使用它来接收Jenkins构建通知并启动Jenkins构建。

因此,Slack通知没有问题。一切正常。

当我尝试使用Slack开始构建时,出现了我的问题。

本教程(http://sonnguyen.ws/how-to-trigger-a-jenkins-build-from-
slack/
)介绍了一种使用Slack斜杠命令的方法。但是,我们的Mac
Mini在我们的内部网络上。到目前为止,我们一直在使用Skype通过此sevabot与Jenkins进行自动构建。

使用Slack时,最受欢迎的选择似乎是使用斜杠命令,但是....我仍然有一些疑问,因为这是我第一次设置此东西:

  1. 我们是否应该使用斜杠命令方法并采用某种如下所述的领导者/跟随者方法:http : //i-phone-dev.blogspot.de/2013/07/jenkin-build-xcode-project-in-mac- slave.html
  2. 是否有使用Slack传出Webhooks或Slackbot功能的更sevabot风格的方法?

只是在寻找一些易于实施,可扩展性,可维护性等方面的指导,以及一些人们成功使用过的示例设置。

谢谢。


问题答案:

所以我终于设法使用Slack的斜杠命令,字符串解析和以下答案来做到这一点:如何在Jenkins中设置环境变量?

我使用的Jenkins插件:

  1. scm之前的版本
  2. EnvInject插件
  3. 构建授权令牌根插件

我将Slack斜杠命令配置为调用https:// my-jenkins-server // buildByToken /
buildWithParameters?job = JOB_NAME&token = MY_SECRET_TOKEN
。因此,当我键入’/
build_my_app branch_name
project_param2’时,我在斜杠命令之后键入的文本将作为URL参数(在本例中为’branch_name project_param2’)发送过来。

一旦到达另一端,我需要将此“文本”参数拆分为Jenkins可用于构建过程的多个环境变量。为此,我添加了两个pre-scm构建步骤。

scm之前的构建步骤1是“执行外壳”命令,该命令由以下脚本组成:

build_parameters=($text)

echo BRANCH=${build_parameters[0]} > props
echo PARAM2=${build_parameters[1]} >> props

我使用“ props”文件来存储已解析的字符串,因为在此步骤中尝试使用“导出”设置环境变量失败了,因为在实际开始构建时env变量不会持续存在。该脚本将$
text参数存储在一个字符串数组(由空格分隔)中,我只引用该数组的每个索引即可获取所需的变量。需要新的工作参数吗?只需在此处添加另一行。

scm之前的构建步骤2是“注入环境变量”作业,在“属性文件路径”中,我只需指定“ $ WORKSPACE /
props”。然后,它将读取带有我解析的env变量的文件,并将它们注入作业环境中。

是的,无需创建任何Web应用程序即可手动解析“文本”参数,然后使用在URL中单独设置的所有参数调用另一个URL。不必使用每种可能的参数组合制作一百万个不同的Jenkins工作。

希望这可以节省一些时间!



 类似资料:
  • 问题内容: 我在Jenkins v2.19中有一个管道常规脚本。我也有一个 “ Slack Notification Plugin” v2.0.1和“ Groovy Postbuild Plugin”。 我已经成功发送了一条消息“构建已开始”和“构建已完成”(如果有的话)。 当某些构建步骤失败时,如何向Slack通道发送消息“ Build failed”? 问题答案: 您可以执行类似操作并使用tr

  • 我最近的任务是使用Jenkins、GitHub和Windows Server 2008派生CI解决方案,该解决方案配置为使用Git可执行文件(在Manage Jenkins下)- 虽然wiki文章链接提供了一些见解,但我发现以下错误: 这是什么导致的?

  • 当SpringWebServiceStarter与2.1一起使用时,我无法构建SpringBoot应用程序。13.Spring护套的释放版本。这是因为SpringWS-core:jar:3.0。8.释放。 构建应用程序时出现异常:它出现在默认测试用例执行期间。 警告: 组织的POM。springframework。ws:springws-core:jar:3.0。8.版本无效,可传递依赖项(如果有

  • 问题内容: 我已经设置了应该运行Firefox的Jenkins作业。使用Jenkins用户登录到Ubuntu,我可以手动启动Firefox,而不会出现任何问题。但是,当我在詹金斯工作时,我得到: 如您所见,我注入了环境变量以指向Firefox。 如果这可以帮助一些有用的版本号: 詹金斯1.546 NodeJs 0.10.24业力0.10.9 编辑: 可能很高兴知道我必须为jenkins用户执行一项

  • 问题内容: 我已经使用docker安装了Jenkins,尽管我已经跳过了手动设置。当我构建映像并运行它时(仍然有很多事情要做),我需要在浏览器中键入IP和端口以打开Jenkins仪表板。 我的问题是,我可以在运行该映像的泊坞窗中使用脚本自动执行构建的Jenkins应该在浏览器中打开的工作吗? 任何需要运行的命令,请对其进行注释 我试图通过命令打开浏览器,但最终出现错误。任何人都可以使用我的自动化工

  • 问题内容: 我刚刚开始与Jenkins一起工作,遇到了一个问题。在安装了几个插件之后,它表示需要重新启动并进入“关闭”模式,但是从不重新启动。 如何手动重启? 问题答案: 要手动重新启动Jenkins,可以使用以下任一命令(通过在浏览器中输入其URL): -允许所有正在运行的作业完成。重新启动完成后,新作业将保留在队列中以运行。 -强制重启,而无需等待构建完成。