如何每天只触发一次现有Jenkins作业的SonarQube运行

时间:2016-06-19 03:52:35

标签: jenkins sonarqube

Sonar建议每天只运行一次作业。每个代码签入(每天多次)触发约100个现有的maven构建。如何重新使用现有的作业定义每天只发布一次?

1 个答案:

答案 0 :(得分:1)

可能你只有两个选择:

  1. 复制作业并且每天只执行一次
  2. 修改作业并使用timepstamps来确定是否应该执行SonarQube
    • 仅在时间戳不存在时调用sonar:sonar
    • 使用“shell命令”
    • 在完成作业后创建时间戳
  3. 示例:

    // standard build
    ...
    
    // SonarQube
    directory = /directory-which-not-be-deleted-by-build/timestamps
    file = $directory/$JOB_NAME-$(date '+%Y-%m-%d')
    
    if [ ! -f $file ];
    then
        // execute analysis
        ...
    
        // create timestamp file
        mkdir -p $directory
        touch $file
    fi
    

    当然,您还应定期清除$directory

    tmpwatch 30d /directory-which-not-be-deleted-by-build/timestamps/