我正在尝试设置 Space 自动化来运行我的代码覆盖范围并将其上传到 Qodana 云。
我可以运行覆盖范围并在 Intellij 本地的 Qodana 中查看它,但我正在努力寻找如何通过空间自动化来做到这一点。它将分析我的代码,但不会分析代码覆盖率。
这是我的空间自动化脚本
.space.kts
job("Qodana") {
startOn {
gitPush {
anyBranchMatching {
+"main"
}
}
codeReviewOpened{}
}
container("jetbrains/qodana-jvm") {
env["QODANA_TOKEN"] = "{{ project:qodana-token }}"
shellScript {
content = "qodana"
}
}
}
还有我的
qodana.yaml
version: "1.0"
#Specify inspection profile for code analysis
profile:
name: qodana.recommended
#Enable inspections
include:
- name: CheckDependencyLicenses
projectJDK: 17 #(Applied in CI/CD pipeline)
#Specify Qodana linter for analysis (Applied in CI/CD pipeline)
linter: jetbrains/qodana-jvm:latest
我错过了什么?
我终于明白了这一点。我遇到的两个问题:
为了实现这一点,我最终得到了这个
.space.kts
文件
job("Build, tests and Qodana") {
startOn {
gitPush {
anyBranchMatching {
+"main"
}
}
codeReviewOpened{}
}
container(displayName = "Run mvn install", image = "maven:latest") {
shellScript {
content = """
mkdir ${'$'}JB_SPACE_FILE_SHARE_PATH/code-coverage
mvn clean install
cp -r ./.qodana/code-coverage ${'$'}JB_SPACE_FILE_SHARE_PATH/code-coverage
""".trimIndent()
}
}
container(displayName = "Run Qodana", image = "jetbrains/qodana-jvm") {
env["QODANA_TOKEN"] = "{{ project:qodana-token }}"
shellScript {
content = """
cp -r ${'$'}JB_SPACE_FILE_SHARE_PATH/code-coverage /data/coverage
qodana
""".trimIndent()
}
}
}