我目前正在使用带有扫描仪2.6.1的sonarqube服务器5.6,并且在分析java项目时我一直遇到错误.它似乎抱怨一些未在二进制文件夹中编译的java文件(二进制文件夹中根本没有).一旦我添加了-X参数,我就会得到更多异常(标记为忽略),见下文.任何线索?
sonar-project.properties后跟日志
sonar.projectKey=myproj
sonar.projectName=myproj
sonar.projectVersion=1.1
sonar.branch=1.1
sonar.sources=./java
sonar.binaries=./deploy
sonar.log.level=DEBUG
sonar.verbose=false
sonar.sourceEncoding=UTF-8
INFO: Execute Checkstyle 6.12.1 done: 2365 ms
INFO: Sensor CheckstyleSensor (done) | time=2377ms
INFO: Sensor SCM Sensor (wrapped)
INFO: SCM provider for this project is: svn
INFO: 9 files to be analyzed
DEBUG: Working directory: D:\Apps\xxxx
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: …
Run Code Online (Sandbox Code Playgroud) 我的jenkinsfile有几个参数,每次我在参数中进行更新(例如删除或添加一个新输入)并将更改提交给我的SCM,我没有看到jenkins中的作业输入屏幕相应更新,我必须运行一个执行,取消它,然后看到我更新的字段
properties([
parameters([
string(name: 'a', defaultValue: 'aa', description: '*', ),
string(name: 'b', description: '*', ),
string(name: 'c', description: '*', ),
])
])
Run Code Online (Sandbox Code Playgroud)
任何线索?
我在jenkins文件中使用管道,我不知道如何正确链接Jenkins和管道中的作业.
我在jenkinsfile中定义了参数(有些是默认值,有些没有),并且是从jenkins gui的参数初始化的.问题是它接缝我的管道中的参数覆盖了我的作业参数,即使在管道中没有指定默认值,这意味着管道正在覆盖我在jenkins中的作业设置.
例如,我的一个工作是设置为使用一些特定值(所有NON-EMPTY)运行管道,如果我触发作业,管道似乎将字段b和c的属性重置为''.
如何让管道不接触我的jenkins工作定义?
例如管道中的参数:
properties([
parameters([
string(name: 'a', defaultValue: 'Default A value', description: '', ),
string(name: 'b', description: '', ),
string(name: 'c', description: '', ),
])
])
Run Code Online (Sandbox Code Playgroud)
我在https://jenkins.io/doc/book/pipeline/syntax/#parameters-example的文档中找不到任何帮助
我有多个具有类似构建步骤的项目,并且我正在考虑在这些项目中重用 Jenkinsfile 管道。我很难找到有关如何实现此类标准(据我看来)设置的文档。
这是我的要求:
1)Jenkinsfile存储在repo中,在多个项目之间共享
2)每个项目都有自己的参数:项目在存储库中的位置。
3)至少从用户的角度来看,Jenkins 中的每个项目应该是独立的,这意味着例如执行和日志在 Jenkins 中每个项目的条目中都可用
我怎样才能实现这个目标?基于管道参数和jenkins GUI参数如何协同工作?我知道我可以使用自由式作业,但是使用此选项无法直接使用日志。有人建议我在每个独立作业中使用 Jenkinsfile,但在我看来,这听起来像是太多不必要的配置。
我最初考虑复制我的管道作业(意味着复制作业,包括参数定义、存储库以及凭证和 jenkinfile 位置定义),我遇到的问题是每次运行作业时,管道都会擦除参数默认值
projectSvnPath
例如,在 Jenkinsfile 中定义没有默认值的属性将删除projectSvnPath
Jenkins 中的作业参数值。因此我无法使用此选项。
properties([
parameters([
string(name: 'projectSvnPath', description: '*', )
])
])
Run Code Online (Sandbox Code Playgroud) 如何将变量VAR_A传递给jenkins管道中的嵌入式PowerShell脚本?
例如
def VAR_A = 'test'
def mystatus = powershell(returnStatus: true, script: '''
Write-Host "My result: '$VAR_A'" '''
withEnv(["VAR_A=test"]) {
def mystatus = powershell(returnStatus: true, script: '''
Write-Host "My result: '$VAR_A'" '''
}
Run Code Online (Sandbox Code Playgroud)
结果都是以下输出我的结果:''
注意:我更喜欢在jenkinsfile中定义我的powershell脚本以保持简单.
不知道如何实现这个逻辑,我知道如何在单个文件中实现它:
- name: Obtain information about a file
win_stat:
path: "C:\myfile.txt"
register: fileinfo
- [...]
when: fileinfo.exists == False
Run Code Online (Sandbox Code Playgroud)
我应该如何处理文件列表?
在https://flywaydb.org/documentation/migration/repeatable引用 flyway 文档:
可重复迁移没有版本。相反,每次它们的校验和发生变化时都会(重新)应用它们。
这对于管理数据库对象非常有用,这些对象的定义可以简单地在版本控制中的单个文件中维护。
在单个迁移运行中,可重复的迁移总是最后应用,在所有挂起的版本化迁移都已执行之后。可重复迁移按其描述的顺序应用。
这听起来令人兴奋,但是我似乎无法找到有关这实际上是如何工作的以及如何初始化可重复迁移的任何说明。我知道对于版本化迁移,我可以创建一个基础迁移 ( https://flywaydb.org/documentation/existing ),然后运行基线命令为我的未来版本做好准备。但是对于可重复的迁移,我不明白 flyway 如何能够校验和更改。
相反,他们是
每次校验和更改时(重新)应用。
flyway 是否假设我正在从头开始重新创建我的数据库以使校验和比较正常工作?这将解释它如何能够比较校验和(因为它可以访问数据库中已有对象的文件定义)。