任务扩展

    您的查询搜索没有结果。

    任务扩展

    概述

    GoCD支持在配置UI中直接配置几种任务(Nant、Ant和Rake),而无需将它们指定为自定义命令。例如,如果你进入作业的配置UI,你会看到类似这样的内容:

    一个任务插件允许你进行扩展,以便在这里可以使用其他任务。该插件还允许你控制UI以及为此任务存储的数据。

    例如,你可以找到一个示例Curl插件的源代码,在这个位置。假设你已安装该插件,你会发现作业配置UI中的下拉菜单已更改为如下所示:

    当选择时,允许你配置任务详细信息的对话框看起来像这样:

    在配置XML中,为此任务输入的信息看起来像这样:

    <task>
      <pluginConfiguration id="curl.task.plugin" version="1" />
      <configuration>
        <property>
          <key>Url</key>
          <value>http://www.google.com</value>
        </property>
        <property>
          <key>SecureConnection</key>
          <value>no</value>
        </property>
        <property>
          <key>RequestType</key>
          <value>-G</value>
        </property>
        <property>
          <key>AdditionalOptions</key>
          <value />
        </property>
      </configuration>
      <runif status="passed" />
    </task>
    

    当使用插件的构建运行时,构建的输出看起来像这样:

    [go] Start to execute task: Plugin with ID: curl.task.plugin.
    Launching command: [curl, -G, --insecure, -o, pipelines/up42/index.txt, http://www.google.com]
    Environment variables:
    Name= MAVEN_OPTS  Value= -Xms256m -Xmx512m
    Name= GO_STAGE_COUNTER  Value= 1
    Name= GO_REVISION_BLAH  Value= cde1e03a05170b991a92a136278c3464e4f35fe7
    Name= GO_JOB_NAME  Value= up42_job
    Name= EDITOR  Value= vim
    Name= SECURITYSESSIONID  Value= 186a4
    ... lots more environment variables ...
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    Dload  Upload   Total   Spent    Left  Speed
    
    0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
    0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0
    100   259  100   259    0     0    122      0  0:00:02  0:00:02 --:--:--   122
    

    你可以使用以下方式在GoCD中编写任务插件:JSON API - 基于消息的方式