AngularPipelineFactory.kt
package nl.marc.devops.pipeline
import nl.marc.devops.pipeline.task_runners.RetrieveSourceCodeTask
import nl.marc.devops.pipeline.task_runners.analysis.SonarqubeAnalysisTask
import nl.marc.devops.pipeline.task_runners.build_tasks.NpmBuildTask
import nl.marc.devops.pipeline.task_runners.release.AzureReleaseTask
import nl.marc.devops.pipeline.task_runners.release.HerokuReleaseTask
import nl.marc.devops.pipeline.task_runners.test.NpmTestTask
class AngularPipelineFactory : ProjectPipelineFactory {
override fun createDeployPipelineWithAzure(): Pipeline {
return Pipeline(
"Angular release",
mutableSetOf(
RetrieveSourceCodeTask(),
NpmBuildTask(),
AzureReleaseTask()
)
)
}
override fun createDeployPipelineWithHeroku(): Pipeline {
return Pipeline(
"Angular release",
mutableSetOf(
RetrieveSourceCodeTask(),
NpmBuildTask(),
HerokuReleaseTask()
)
)
}
override fun createTestPipeline(): Pipeline {
return Pipeline(
"Angular testing",
mutableSetOf(
RetrieveSourceCodeTask(),
NpmBuildTask(),
NpmTestTask()
)
)
}
override fun createAnalysisPipeline(): Pipeline {
return Pipeline(
"Angular analysis",
mutableSetOf(
RetrieveSourceCodeTask(),
NpmBuildTask(),
SonarqubeAnalysisTask()
)
)
}
}