You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Ansible创建带参数的Jenkins任务?XML模板配置求助

用Ansible创建带参数的Jenkins任务配置指南

核心思路

Jenkins任务的参数配置需要在XML模板中通过<properties>节点定义,不同类型的参数对应不同的XML结构。以下是包含常见参数类型的完整XML模板示例,你可以直接放到templates/test.xml中,或根据需求调整。

带参数的Jenkins任务XML模板示例

<?xml version='1.1' encoding='UTF-8'?>
<project>
  <!-- 基础任务配置 -->
  <actions/>
  <description>测试带参数的Jenkins任务</description>
  <keepDependencies>false</keepDependencies>
  <properties>
    <!-- 1. 字符串参数 -->
    <hudson.model.StringParameterDefinition>
      <name>APP_VERSION</name>
      <description>应用版本号,如v1.0.0</description>
      <defaultValue>v1.0.0</defaultValue>
      <trim>true</trim>
    </hudson.model.StringParameterDefinition>
    
    <!-- 2. 选择参数 -->
    <hudson.model.ChoiceParameterDefinition>
      <name>DEPLOY_ENV</name>
      <description>部署环境</description>
      <choices class="java.util.Arrays$ArrayList">
        <a class="string-array">
          <string>dev</string>
          <string>test</string>
          <string>prod</string>
        </a>
      </choices>
    </hudson.model.ChoiceParameterDefinition>
    
    <!-- 3. 布尔参数 -->
    <hudson.model.BooleanParameterDefinition>
      <name>RUN_TESTS</name>
      <description>是否运行测试用例</description>
      <defaultValue>true</defaultValue>
    </hudson.model.BooleanParameterDefinition>
  </properties>
  
  <!-- 构建触发器(按需配置) -->
  <triggers/>
  
  <!-- 构建步骤示例(这里用shell脚本演示使用参数) -->
  <builders>
    <hudson.tasks.Shell>
      <command>
        echo "部署版本: ${APP_VERSION}"
        echo "部署环境: ${DEPLOY_ENV}"
        echo "是否运行测试: ${RUN_TESTS}"
      </command>
    </hudson.tasks.Shell>
  </builders>
  
  <!-- 其他配置(按需调整) -->
  <publishers/>
  <buildWrappers/>
</project>

模板说明

  • <properties>节点是参数定义的核心区域,每种参数类型对应不同的XML标签:
    • 字符串参数:hudson.model.StringParameterDefinition,支持默认值和自动去空格
    • 选择参数:hudson.model.ChoiceParameterDefinition,提供固定选项列表
    • 布尔参数:hudson.model.BooleanParameterDefinition,用于true/false选择
  • 构建步骤中可以通过${参数名}的方式引用参数,比如示例中的shell脚本
  • 若需要其他类型参数(如密码参数、文件参数等),可以先在Jenkins UI手动创建对应参数的任务,再导出XML查看对应标签结构,直接复用即可

与你的Ansible代码配合使用

你的现有Ansible代码无需修改,只要确保templates/test.xml路径正确,执行playbook后,Jenkins就会创建名为test的带参数任务。

内容的提问来源于stack exchange,提问作者user263076

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 13:15:58