如何从触发的jenkins作业中分析控制台输出数据?

时间:2016-06-14 10:07:38

标签: jenkins jenkins-plugins jenkins-workflow jenkins-pipeline

我有2份工作' job1'和' job2'。我将触发' job2'来自' job1'。我需要获得' job1'的控制台输出。构建触发' job2'并希望在' job2'。

中处理它

2 个答案:

答案 0 :(得分:0)

您可以使用Post Build Task插件,然后使用wget命令获取控制台输出:

angular.module('app',[])
  .directive('onLongPress', function($timeout) {
    return {
      restrict: 'A',
      link: function($scope, $elm, $attrs) {
        $elm.bind('mousedown', function(evt) {
          // Locally scoped variable that will keep track of the long press
        $scope.longPress = true;

        // We'll set a timeout for 600 ms for a long press
        $timeout(function() {
          if ($scope.longPress) {
            // If the touchend event hasn't fired,
            // apply the function given in on the element's on-long-press attribute
            $scope.$apply(function() {
              $scope.$eval($attrs.onLongPress)
                    });
                }
            }, 600);
        });

        $elm.bind('mouseup', function(evt) {
          // Prevent the onLongPress event from firing
          $scope.longPress = false;
          // If there is an on-touch-end function attached to this element, apply it
          if ($attrs.onTouchEnd) {
            $scope.$apply(function() {
              $scope.$eval($attrs.onTouchEnd)
                });
            }
      });
    }
  };
})

.controller('MainCtrl', function($scope){
  $scope.test = 'Angular 1.4.7';
  $scope.itemOnLongPress = function(){
    $scope.test = "Long pressed";
  };
  $scope.itemOnTouchEnd = function(){
    $scope.test = "Touch end";
  };
});

答案 1 :(得分:0)

困难的部分是找出触发下游作业(job1)的上游作业(job2)的内部版本号。获得后,您可以访问控制台日志,例如:正如${BUILD_URL}consoleOutput所述,正如ivoruJavaBoy所指出的那样。

下游构建如何确定已触发的作业和构建号?这在詹金斯非常困难:

解决方案A(“显式”方法):使用Parameterized Trigger Plugin“手动”将构建号参数从job1传递到job2。除了管理开销之外,该方法还有一个更大的缺点:job1job2将不再异步运行;对于每次运行job2完全一次job1次运行。如果job2job1慢,那么您需要规划资源以避免在队列中堆积job2

因此,某些解决方案“B”会更好,您可以从Jenkins的内部数据中提取隐式上游信息。你可以使用Groovy;更简单的方法可能是使用job2中的Job Exporter Plugin。该插件将在job2版本的工作区中创建“属性”(文本)文件。该文件包含两个条目,其中包含您正在查找的信息:

build.upstream.number   Number of upstream job that triggered this job. Only filled if the build was triggered by an upstream project.
build.upstream.project  Upstream project that triggered this job.

读取该文件,然后使用该信息通过上面的URL读取控制台日志。