public DevOpsIterator() { visitor = new DevOpsVisitor(); pipelineSteps.Add(new Source()); pipelineSteps.Add(new Build()); pipelineSteps.Add(new Test()); pipelineSteps.Add(new Analyse()); pipelineSteps.Add(new Package()); pipelineSteps.Add(new Deploy()); pipelineSteps.Add(new Utility()); }
void IVisitable <IPipelineVisitor> .Accept(IPipelineVisitor visitor) { visitor.VisitPipeline(this); ((IVisitable <IPipelineVisitor>)Stages).Accept(visitor); }
void IVisitable <IPipelineVisitor> .Accept(IPipelineVisitor visitor) { this.Cast <IVisitable <IPipelineVisitor> >().ForEach(component => component.Accept(visitor)); }
public void Run(IPipelineVisitor visitor) { visitor.VisitBuild(this); }
void IVisitable<IPipelineVisitor>.Accept(IPipelineVisitor visitor) { this.Cast<IVisitable<IPipelineVisitor>>().ForEach(stage => stage.Accept(visitor)); }
//Met activiteiten in deze categorie kun je diverse (3rd party) packages/libraries installeren waar je eigen software afhankelijk van is. public void Run(IPipelineVisitor visitor) { visitor.VisitPackage(this); }
//Bevat acties om deployment op bv Azure uit te voeren. public void Run(IPipelineVisitor visitor) { visitor.VisitDeploy(this); }
void IVisitable <IPipelineVisitor> .Accept(IPipelineVisitor visitor) { visitor.VisitComponent(this); }
//Voert test uit, bv via NUnit, Selenium etc.Deze categorie bevat ook acties om test resultaten te publiceren, of coverage resultaten. public void Run(IPipelineVisitor visitor) { visitor.VisitTest(this); }
public void Run(IPipelineVisitor visitor) { visitor.VisitAnalyse(this); }
//Activiteiten om de source code die gebouwd (en mogelijk getest en gedeployed) moet //worden op te halen naar een context waarin de gehele pipeline wordt uitgevoerd. public void Run(IPipelineVisitor visitor) { visitor.VisitSource(this); }
//Dit kunnen diverse acties zijn, die niet onder bovengenoemde categorieën vallen zoals het runnen van een batch script, //files copiëren/deleten/downloaden, command line acties. public void Run(IPipelineVisitor visitor) { visitor.VisitUtility(this); }