Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 16 additions & 4 deletions src/com/blackduck/integration/pipeline/SimplePipeline.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -146,21 +146,33 @@ class SimplePipeline extends Pipeline {
}

DetectStage addDetectPopDockerStage(String imageName) {
return addDetectPopDockerStage(imageName, "")
return addDetectPopDockerStage(imageName, "", false)
}

DetectStage addDetectPopDockerStage(String imageName, boolean codeLocationNameAsImage) {
return addDetectPopDockerStage(imageName, "", codeLocationNameAsImage)
}

ArrayList<DetectStage> addDetectPopDockerStages(ArrayList<String> imageNames) {
return addDetectPopDockerStages(imageNames, "")
}

ArrayList<DetectStage> addDetectPopDockerStages(ArrayList<String> imageNames, boolean codeLocationNameAsImage) {
return addDetectPopDockerStages(imageNames, "", codeLocationNameAsImage)
}

ArrayList<DetectStage> addDetectPopDockerStages(ArrayList<String> imageNames, String detectCommand) {
return addDetectPopDockerStages(imageNames, detectCommand, false)
}

ArrayList<DetectStage> addDetectPopDockerStages(ArrayList<String> imageNames, String detectCommand, boolean codeLocationNameAsImage) {
ArrayList<DetectStage> detectStages = []
imageNames.each { imageName -> detectStages << addDetectPopDockerStage(imageName, detectCommand) }
imageNames.each { imageName -> detectStages << addDetectPopDockerStage(imageName, detectCommand, codeLocationNameAsImage) }
return detectStages
}

DetectStage addDetectPopDockerStage(String imageName, String detectCommand) {
DockerImage dockerImage = new DockerImage(pipelineConfiguration, imageName)
DetectStage addDetectPopDockerStage(String imageName, String detectCommand, boolean codeLocationNameAsImage) {
DockerImage dockerImage = new DockerImage(pipelineConfiguration, imageName, codeLocationNameAsImage)
DetectStage detectDockerStage = addDetectPopStage(dockerImage.getBdProjectName(), detectCommand)
detectDockerStage.setDockerImage(dockerImage)
return detectDockerStage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ class DetectStage extends Stage {
}

getPipelineConfiguration().getScriptWrapper().executeCommandWithException("docker pull ${fullImageName}")

addDetectParameters(dockerImage.getCodeLocationNameAsImage(pipelineConfiguration.scriptWrapper.getJenkinsProperty(DETECT_PROJECT_VERSION_NAME_OVERRIDE)))
}

String combinedDetectParameters = "${blackduckConnection} ${getDetectCommand()} ${getDefaultExclusionParameters()}"
Expand Down
13 changes: 12 additions & 1 deletion src/com/blackduck/integration/pipeline/tools/DockerImage.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,18 @@ class DockerImage {

private PipelineConfiguration pipelineConfiguration
private final String rawDockerImage
private final boolean codeLocationNameAsImage
private final String dockerImageOrg
private final String dockerImageName
private final String bdProjectName

private String fullDockerImageName
private String dockerImageVersion

DockerImage(PipelineConfiguration pipelineConfiguration, String rawDockerImage) {
DockerImage(PipelineConfiguration pipelineConfiguration, String rawDockerImage, boolean codeLocationNameAsImage) {
this.pipelineConfiguration = pipelineConfiguration
this.rawDockerImage = rawDockerImage
this.codeLocationNameAsImage = codeLocationNameAsImage

int slashIndex = getSlashIndex()
this.dockerImageOrg = rawDockerImage.substring(0, slashIndex)
Expand Down Expand Up @@ -90,6 +92,15 @@ class DockerImage {
}
}

String getCodeLocationNameAsImage(String version) {
if (codeLocationNameAsImage) {
pipelineConfiguration.getLogger().info("Using Detect option: detect.code.location.name")
return ' --detect.code.location.name=' + dockerImageOrg + "_" + dockerImageName + '_' + version
} else {
return ''
}
}

String getDockerDetectParams() {
if (!dockerImageVersion?.trim()) {
setDockerImageVersion(getDockerVersionFromEnvironment())
Expand Down