小编kis*_*991的帖子

我可以在Jenkinsfile中检查环境变量是否存在

我正在为我的项目运行Multibranch管道.

Jenkinsfile的行为应该根据触发器而改变.有两个触发管道的事件1.推送事件2.拉取请求.

我正在尝试检查环境变量'CHANGE_ID'('CHANGE_ID'仅适用于Pull Request).参考.

因此,如果管道由Push事件触发,并且如果检查'CHANGE_ID'变量则抛出异常(如果管道由Pull Request触发,则代码可以正常工作).

码:

stage('groovyTest'){
    node('mynode1') {
        if (CHANGE_ID!=NULL){
            echo "This is Pull request"
        }else{
            echo "This is Push request"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:

groovy.lang.MissingPropertyException: No such property: CHANGE_ID for class: groovy.lang.Binding
    at groovy.lang.Binding.getVariable(Binding.java:63)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:224)
    at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:241)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:221)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:221)
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:28)
    at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
    at WorkflowScript.run(WorkflowScript:5)
    at ___cps.transform___(Native Method)
Run Code Online (Sandbox Code Playgroud)

如何检查Jenkinsfile中是否存在'CHANGE_ID'变量?

groovy jenkins jenkins-pipeline multibranch-pipeline

25
推荐指数
3
解决办法
3万
查看次数

如何分析SonarQube中.php文件中编写的JavaScript代码

我们使用SonarQube进行代码分析.SonarQube可以分析所有语言(我们删除了参数sonar.language=).我们有.php档案; file有PHP,还有编写的JavaScript代码.我们知道JavaScript代码有一些错误,但SonarQube分析没有检测到该错误.

如何执行SonarQube分析,以便在出现任何错误时纠正我们的JavaScript代码.

javascript php sonarqube sonarqube-scan

3
推荐指数
1
解决办法
112
查看次数

在 Ansible Jinja 模板中,如何转义双引号内的单引号?

在 Ansible 角色中,我使用 Jinja 模板创建一个从变量中获取值的文件。

vars 文件 vars/main.yml 的内容,从 jinja 模板中获取变量的位置:

Header:
 - key: a-b-c
   action: xxx
   option: '"xyz 'ZZZ' abc.de *.abc.de"'
   enabled: true
Run Code Online (Sandbox Code Playgroud)

Jinja 模板文件 templates/file.conf.j2 的内容:

{% for item in Header %}
{% if item.enabled is sameas true %}
Header {{ item.action }} {{ item.key }} {{ item.option }}
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

调用模板模块的 tasks/main.yml 文件的内容:

- name: create server.conf
  template:
   src: file.conf.j2
   dest: 'mydir/server.conf'
   owner: root
   group: root
   mode: '0644'
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

The offending line appears …
Run Code Online (Sandbox Code Playgroud)

jinja2 ansible ansible-template

3
推荐指数
1
解决办法
6350
查看次数

如何在 Linux 服务器上进行 SoapUI Open Source 的命令行安装?

我正在 Linux 服务器上安装 SoapUI Open Source。

对于安装,我正在执行以下命令:

wget https://s3.amazonaws.com/downloads.eviware/soapuios/5.4.0/SoapUI-5.4.0-linux-bin.tar.gz
tar -xzf SoapUI-5.4.0-linux-bin.tar.gz -C /opt/
cd /opt/SoapUI-5.4.0/bin/
./soapui.sh
Run Code Online (Sandbox Code Playgroud)

虽然安装最后一步(./soapui.sh)给了我以下错误:

05:11:16,498 INFO  [DefaultSoapUICore] All plugins loaded
java.awt.HeadlessException: 
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
    at java.awt.Window.<init>(Window.java:536)
Run Code Online (Sandbox Code Playgroud)

当我使用 'export DISPLAY=:0.0' 时,步骤 ./soapui.sh 会长期运行,需要手动中止并显示以下消息 -

Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
    at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
    at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
    at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
Run Code Online (Sandbox Code Playgroud)

请建议在 Linux …

soapui

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