小编Vla*_*ski的帖子

Jenkins pipline 中的 Sonar Qube Quality Gates 插件

我已经安装并配置了 SonanarQube Quality Gates 插件,并在非管道作业中成功配置了它。但是当你尝试在 pipline 中配置它时,当我尝试像这样制作 pipline 时,我会遇到不同的错误:

stage ("SonarQube analysis") {
 dir('source') {
            def scannerHome = tool 'sonscanner';
             withSonarQubeEnv('sonar'){
               timeout(time: 1, unit: 'HOURS');
                 withSonarQubeEnv('sonar'){
                      def qg = waitForQualityGate()
             if (qg.status != 'OK') {
              error "Pipeline aborted due to quality gate failure: ${qg.status}"
      }
          } 
             } 
                } 
                  }         
Run Code Online (Sandbox Code Playgroud)

我看到这个:

java.lang.IllegalStateException: There is no body to invoke
at org.jenkinsci.plugins.workflow.cps.CpsStepContext.newBodyInvoker(CpsStepContext.java:283)
at org.jenkinsci.plugins.workflow.cps.CpsStepContext.newBodyInvoker(CpsStepContext.java:95)
at org.jenkinsci.plugins.workflow.steps.TimeoutStepExecution.start(TimeoutStepExecution.java:46)
Run Code Online (Sandbox Code Playgroud)

当作为 SonarQube 分析之后的单独步骤时:

stage("Quality Gate"){
        timeout(time: 1, unit: 'HOURS') { // Just in case something goes wrong, …
Run Code Online (Sandbox Code Playgroud)

jenkins sonarqube

5
推荐指数
1
解决办法
1274
查看次数

在 package.json 中使用 sed 的凹凸版本

我需要在jenkins 中自动生成package.json,并且真的坚持了下来。

以下sed命令在管道中工作,但它更改了第二个字段,我需要更改第三个字段:

sed -i  "/version/s/\\([.]\\)\\(.\\)\\(.*\\)/\\1${BUILD_NUMBER}\\3/" package.json
Run Code Online (Sandbox Code Playgroud)

输出:

"version": "0.222.0"
Run Code Online (Sandbox Code Playgroud)

但是我需要:

"version": "0.0.222"
Run Code Online (Sandbox Code Playgroud)

json输入的一部分:

{
 "name": "render",
  "version": "0.0.0"
  "description": "",
 "main": "./dist/index.js",
   "bin": {
"render-ne": "./bin/re"
  },
Run Code Online (Sandbox Code Playgroud)

谁能提供帮助?

json sed

2
推荐指数
1
解决办法
3795
查看次数

标签 统计

jenkins ×1

json ×1

sed ×1

sonarqube ×1