public List<PluggableArtifactConfig> findByStoreId(String storeId) { final ArrayList<PluggableArtifactConfig> pluggableArtifactConfigs = new ArrayList<>(); for (PluggableArtifactConfig artifact : getPluggableArtifactConfigs()) { if (artifact.getStoreId().equals(storeId)) { pluggableArtifactConfigs.add(artifact); } } return pluggableArtifactConfigs; }
public PluggableArtifactConfig findByArtifactId(String artifactId) { for (PluggableArtifactConfig artifact : getPluggableArtifactConfigs()) { if (artifact.getId().equals(artifactId)) { return artifact; } } return null; }
private void cachePublishAndFetchExternalConfig() { externalArtifactConfigs = new ArrayList<>(); fetchExternalArtifactTasks = new ArrayList<>(); for (StageConfig stageConfig : getStages()) { for (JobConfig jobConfig : stageConfig.getJobs()) { externalArtifactConfigs.addAll(jobConfig.artifactConfigs().getPluggableArtifactConfigs()); for (Task task : jobConfig.getTasks()) { if (task instanceof FetchPluggableArtifactTask) { fetchExternalArtifactTasks.add((FetchPluggableArtifactTask) task); } } } } }
private void cachePublishAndFetchExternalConfig() { externalArtifactConfigs = new ArrayList<>(); fetchExternalArtifactTasks = new ArrayList<>(); for (StageConfig stageConfig : getStages()) { for (JobConfig jobConfig : stageConfig.getJobs()) { externalArtifactConfigs.addAll(jobConfig.artifactConfigs().getPluggableArtifactConfigs()); for (Task task : jobConfig.getTasks()) { if (task instanceof FetchPluggableArtifactTask) { fetchExternalArtifactTasks.add((FetchPluggableArtifactTask) task); } } } } }
public void encryptSecureProperties(CruiseConfig preprocessedConfig, PipelineConfig preprocessedPipelineConfig, JobConfig preprocessedJobConfig) { List<PluggableArtifactConfig> artifactConfigs = artifactConfigs().getPluggableArtifactConfigs(); List<PluggableArtifactConfig> preprocessedArtifactConfigs = preprocessedJobConfig.artifactConfigs().getPluggableArtifactConfigs(); artifactConfigs.forEach(artifactConfig -> { artifactConfig.encryptSecureProperties(preprocessedConfig, preprocessedArtifactConfigs.get(artifactConfigs.indexOf(artifactConfig))); }); tasks.forEach(task -> { if (task instanceof FetchPluggableArtifactTask) { ((FetchPluggableArtifactTask) task).encryptSecureProperties(preprocessedConfig, preprocessedPipelineConfig, (FetchPluggableArtifactTask) preprocessedJobConfig.getTasks().get(tasks.indexOf(task))); } }); }
public void encryptSecureProperties(CruiseConfig preprocessedConfig, PipelineTemplateConfig pipelineTemplateConfig) { List<PluggableArtifactConfig> artifactConfigs = artifactConfigs().getPluggableArtifactConfigs(); artifactConfigs.forEach(artifactConfig -> { artifactConfig.encryptSecureProperties(preprocessedConfig, artifactConfig); }); tasks.forEach(task -> { if (task instanceof FetchPluggableArtifactTask) { FetchPluggableArtifactTask fetchPluggableArtifactTask = (FetchPluggableArtifactTask) task; fetchPluggableArtifactTask.encryptSecureProperties(preprocessedConfig, pipelineTemplateConfig); } }); }
public Map<String, Map> artifactIdToPluginIdForFetchPluggableArtifact(String stagePatent, String currentPipelineName, String currentStageName) { final List<PipelineConfig> pipelineConfigs = stagePatent.equals("templates") ? getAllPipelineConfigs() : pipelinesForFetchArtifacts(currentPipelineName); Map<String, Map> allArtifacts = new HashMap<>(); pipelineConfigs.forEach(pipelineConfig -> { final String pipelineName = pipelineConfig.getName().toString(); final HashMap<String, Map> artifactsInPipeline = new HashMap<>(); allArtifacts.put(pipelineName, artifactsInPipeline); final boolean isCurrentPipeline = pipelineName.equalsIgnoreCase(currentPipelineName); final List<StageConfig> stageConfigs = isCurrentPipeline ? pipelineConfig.allStagesBefore(new CaseInsensitiveString(currentStageName)) : pipelineConfig.getStages(); stageConfigs.forEach(stageConfig -> { final String stageName = stageConfig.name().toString(); artifactsInPipeline.put(stageName, new HashMap<String, Map>()); stageConfig.getJobs().forEach(jobConfig -> { artifactsInPipeline.get(stageName).put(jobConfig.name().toString(), jobConfig.artifactConfigs().getPluggableArtifactConfigs().stream().collect(toMap(PluggableArtifactConfig::getId, c -> { final ArtifactStore artifactStore = artifactStores().find(c.getStoreId()); return artifactStore == null ? null : artifactStore.getPluginId(); }))); }); }); }); return allArtifacts; }
private void validatePluggableArtifactConfig(JobConfig jobConfig, PipelineConfigSaveValidationContext contextForJobChildren) { for (PluggableArtifactConfig pluggableArtifactConfig : jobConfig.artifactConfigs().getPluggableArtifactConfigs()) { if (!pluggableArtifactConfig.validateTree(contextForJobChildren)) { for (ConfigErrors errors : pluggableArtifactConfig.getAllErrors()) { this.errors().addAll(errors); } } } }
@Test public void getPluggableArtifactConfigs_shouldReturnPluggableArtifactConfigs() { ArtifactConfigs allConfigs = new ArtifactConfigs(); allConfigs.add(new BuildArtifactConfig("src", "dest")); allConfigs.add(new BuildArtifactConfig("java", null)); allConfigs.add(new PluggableArtifactConfig("s3", "cd.go.s3")); allConfigs.add(new PluggableArtifactConfig("docker", "cd.go.docker")); final List<PluggableArtifactConfig> artifactConfigs = allConfigs.getPluggableArtifactConfigs(); assertThat(artifactConfigs, hasSize(2)); assertThat(artifactConfigs, containsInAnyOrder( new PluggableArtifactConfig("s3", "cd.go.s3"), new PluggableArtifactConfig("docker", "cd.go.docker") )); }
PipelineConfig child = config.pipelineConfigByName(new CaseInsensitiveString("child")); Configuration ancestorPublishArtifactConfig = ancestor.getStage("stage1").jobConfigByConfigName("job1").artifactConfigs().getPluggableArtifactConfigs().get(0).getConfiguration(); GoCipher goCipher = new GoCipher(); assertThat(ancestorPublishArtifactConfig.getProperty("k1").getEncryptedValue(), is(goCipher.encrypt("pub_v1")));
List<PluggableArtifactConfig> toPluggableArtifactConfigs = toJob.artifactConfigs().getPluggableArtifactConfigs(); List<PluggableArtifactConfig> fromPluggableArtifactConfigs = fromJob.artifactConfigs().getPluggableArtifactConfigs(); for(int i = 0; i< toPluggableArtifactConfigs.size(); i++) { PluggableArtifactConfig fromPluggableArtifactConfig = fromPluggableArtifactConfigs.get(i);
PipelineConfig child = config.pipelineConfigByName(new CaseInsensitiveString("child")); Configuration ancestorPublishArtifactConfig = ancestor.get(0).getJobs().first().artifactConfigs().getPluggableArtifactConfigs().get(0).getConfiguration(); Configuration parentPublishArtifactConfig = parent.get(0).getJobs().first().artifactConfigs().getPluggableArtifactConfigs().get(0).getConfiguration(); Configuration childFetchArtifactFromAncestorConfig = ((FetchPluggableArtifactTask) child.get(0).getJobs().first().tasks().get(0)).getConfiguration(); Configuration childFetchArtifactFromParentConfig = ((FetchPluggableArtifactTask) child.get(0).getJobs().first().tasks().get(1)).getConfiguration();