使用 ansible 创建 jenkins 工作

2023-12-10

我正在开发一个项目,使用 ansible 在 centos7 上部署 jenkins CI 服务器 我在使用 ansible 从 xml 模板创建 jenkins 作业时遇到问题。

到目前为止,一切工作正常,但现在我希望能够创建作业,并使用 ansible 从 xml 文件为它们提供一些基本配置。我的解决方案是来自 jenkins-cli 的以下命令:

sudo java -jar jenkins-cli.jar -s http://localhost:8080 create-job Job_test1 < Job_test1.xml

当在 centos7 框中手动输入时,效果非常好,但是当我将其放入 ansible 并运行它时:

- name: create jenkins jobs with xml files
  sudo: yes
  command: "java -jar {{ jenkins.cli_dest }} -s http://localhost:8080 create-job {{ item.name }} < {{ jenkins_dest }}/{{ item.xml_name }}"
  with_items: jenkins_jobs

它给出以下错误消息:

stderr: Too many arguments: <
java -jar jenkins-cli.jar create-job NAME
Creates a new job by reading stdin as a configuration XML file.

有谁知道这个问题的解决方案? 据我所知,我做得正确(因为该命令在未由 ansible 输入时有效)


我使用 ansible 管理 jenkins CI/CD 管道和设置,并且严重依赖可用的库(groovy DSL、python jenkins-job-builder)并使用 jinja2 对 jenkins XML 配置的内部进行模板化。 我被要求在当地的一次聚会上展示 ansible 可以做什么,并且一直在编写一些代码,我将在新的一年的聚会上交付和分享这些代码。 我认真地认为这些东西可以帮助你很多,我目前在我当前的项目中使用这个设置,无法想象以任何其他方式管理詹金斯。

https://github.com/Azulinho/ansible-jenkins-showcase

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ansible 创建 jenkins 工作 的相关文章

随机推荐

  • 如何使用 jQuery 找到最高的 z-index

    我有许多具有不同 z 索引的 div 元素 我想找到这些 div 中最高的 z index 我怎样才能实现它 CSS layer 1 z index 1 layer 2 z index 2 layer 3 z index 3 layer 4
  • EXTjs gridfilter:如何在不重新加载存储的情况下清除过滤器?

    在 extjs GridFilters 中 有没有办法在不重新加载存储的情况下清除过滤器 这是要求 网格下面有一个网格 1 和另一个网格 2 grid 1 有一个 id 列表 当单击某个特定 id 时 grid 2 就会填充属于该 id 的
  • 错误:TCP 提供程序:错误代码 0x2746。在Linux中通过终端进行Sql设置期间

    我正在尝试按照文档在我的 Linux 中设置 ms sql 服务器https learn microsoft com pl pl sql linux quickstart install connect ubuntu view sql se
  • SAP .Net Connector 3.0 - 如何从非 SAP 系统发送 IDoc?

    我正在尝试使用 NET 连接器将数据发送到 SAP 系统 我已经能够非常轻松地发送对 RFC 功能模块的调用 但似乎没有任何方法可以直接发送标准 IDoc 这很奇怪 因为 IDocs 应该是与 SAP 对话的标准通信工具 有没有人发现是否
  • 如何在运行时获取和设置 Robot Framework(Ride) 中的默认输出目录

    我想将所有输出文件移动到自定义位置 即基于运行时日期时间创建的运行目录 在 TestSetup 中按日期时间创建输出文件夹 我有函数 Process Output files 它将文件移动到运行文件夹 Run1 Run2 Run3 文件夹
  • 使用输入变量时 Postgres 的运行速度要慢得多

    我在 Postgres 8 3 5 中有一个函数 可以从多个表中选择数据并将结果转储到单个表中 create or replace function test function 2 startdate timestamp enddate t
  • 使用 ImageMagick 和 Rails 进行像素 RGB

    我目前正在使用 PaperClip 和 ImageMagick 上传图像 我想获得图像的平均颜色 所以我这样做 使用 before create 挂钩 def get average color img Magick Image read
  • 使用 Office 365 API 的日历或用户时区

    是否可以通过 Office 365 或 Graph API 获取用户或其日历的时区 我知道您可以从特定事件获取开始和结束时区 但这对我没有帮助 抱歉 我们尚不通过 Office 365 或 Graph REST API 支持此功能 这是我们
  • 如何在 PowerShell 复制脚本中正确过滤多个字符串

    我正在使用来自的 PowerShell 脚本这个答案进行文件复制 当我想使用过滤器包含多种文件类型时 就会出现问题 Get ChildItem originalPath filter htm foreach targetFile htmPa
  • JavaScript XML 解析

    有没有一种方法可以在 JavaScript 中循环遍历 XML 节点的直接子节点 而不使用 jquery 或类似的库 我尝试使用 childNodes 但由于某种原因它无法正常工作 childNodes length 返回一个数字 该数字通
  • 环境变量中的 Watson Conversation_Error

    我正在尝试从 GitHub 复制 Watson对话简单节点 js 应用程序 https github com watson developer cloud conversation simple 并在我的本地运行 我已经创建了服务密钥和设置
  • 在 Python 脚本中获取当前的 git 哈希值

    我想在 Python 脚本的输出中包含当前的 git 哈希 作为版本号生成该输出的代码 如何在 Python 脚本中访问当前的 git 哈希值 无需绕过从git命令自己 GitPython是一个非常好的方法来做到这一点和许多其他git东西
  • 如何创建一个仅引导用户在 Google Play 上下载完整版本的存根应用程序?

    只是想创建一个存根应用程序 该应用程序启动后除了引导用户在 Google Play 上下载完整版本之外什么也不做 我假设存根 apk 显然需要相同的包名称 使用相同的证书签名 但版本代码较低 一直只指向 Google Play 产品页面 这
  • ReportNG不提供任何报告

    我听说 ReportNG 创建的报告比 TestNG 的正常报告更好 我尝试创建 ReportNG 报告 但失败了 我正在使用 Eclipse 我已经下载了 ReportNG 并将reportng 1 1 3 jar 和velocity d
  • 如何从 U-Boot 启动裸板二进制文件?

    我们如何从 U Boot 启动独立的裸板二进制文件 不是使用 U Boot 环境运行的独立二进制文件 而不是 Linux 内核 我的要求是使用我的二进制文件重新初始化主板和驱动程序 我可以用我的二进制文件替换启动介质 此处为 NOR 闪存
  • 单击时更改 MenuItem 可见性

    我正试图隐藏一个MenuItem并在选择第一个时使另一个可见 每个 ID 为 pencil R id button routines edit check mark R id button routines edit done 这里是相关代
  • 使用 null 参数调用 super.onCreate() ?

    In onCreate Bundle bdl 我们必须通过以下方式调用它的超级构造函数super onCreate bdl 对于新创建的活动 我们得到了一个 null BundleonCreate Bundle bdl 所以当我们打电话时s
  • 如何配置任务以在 VSC IDE(版本 2.0.0)中启动 .ps1 脚本?

    我想使用 Visual Studio Code IDE VSC 在 MQL 而不是本机 MetaEditor IDE 中进行开发 如下所述 如何在 Visual Studio 中编码和编译 MQL5 我的问题涉及编译过程 其中包含调用 Po
  • 如何阻止 UIScrollView 吞咽触摸

    I have UIScrollView有很多子视图 当我滚动时 我想点击要拖动的子视图 有没有一种可能的方法可以使UIScrollView停止吞咽接触 或者 当您取消滚动时是否可以开始新的触摸 就像它滚动并且我点击它一样 子视图也会被点击
  • 使用 ansible 创建 jenkins 工作

    我正在开发一个项目 使用 ansible 在 centos7 上部署 jenkins CI 服务器 我在使用 ansible 从 xml 模板创建 jenkins 作业时遇到问题 到目前为止 一切工作正常 但现在我希望能够创建作业 并使用