An Introduction to Go

13
GO An Introduction to Go

Transcript of An Introduction to Go

Page 1: An Introduction to Go

GO

An Introduction to Go

Page 2: An Introduction to Go

DIMENSIONS OF A CD TOOL

Modeling

■ Components, teams, environments

■ Sequential, parallel, group into pipeline/stage/job

■ Access, authorization, manual-gates

■ Templates

Support Failing Fast

■ Fast feedback with shortened cycle-times

■ Break the sequential nature of delivery cycles

■ High parallelization

■ Support the resulting more complex builds

2

Page 3: An Introduction to Go

Visualization

Traceability

■ How far has this commit progressed?

■ What build is deployed to the testing environment?

■ What are the code changes associated with this deployment?

■ What are the commits between any two runs of a pipeline?

Auditability

■ Who canceled, paused, manual-triggered this stage/pipeline?

■ How has the pipeline config changed from the last run?

3

Page 4: An Introduction to Go

Orchestration

■ Poll, schedule, manual, API

■ Unicast, multi-cast

■ Fan-in resolution

■ Timeout, Error handling

Automation

■ Loosely coupled

■ Version controlled

■ Endpoint Agnostic

4

Page 5: An Introduction to Go

GO CONCEPTS

5

Page 6: An Introduction to Go

USE GO TO

6

1. Build Binaries 2. Build Products

Page 7: An Introduction to Go

END TO END VIEW

7

VisualizationFail Fast

Page 8: An Introduction to Go

COMPARE PIPELINE INSTANCES

8

Visualization

Page 9: An Introduction to Go

9

Modeling

Orchestration

Page 10: An Introduction to Go

FAN-IN RESOLUTION

10

C A B D

C12 A50-C12 B34-C12 D23-A50-

B34

c13 A51-C13 B35-C13 No-trigger

C14 A52-C14 B36-C14 No-trigger

C15 A53-C15 B37-C15 D24-A53-

B35

GitA

GitB

GitC

Pipeline A

Pipeline B

Pipeline C Pipeline DFan-out Fan-in

Page 11: An Introduction to Go

11

Build Orchestration & Automation

Page 12: An Introduction to Go

12

Deployment Orchestration & Automation

Page 13: An Introduction to Go

THANK YOU