Test Acceptance X-production Production

Patrick van Dissel

TAXP

diag 931b723af9d82ce8e982f7f9efcc090d

Jenkins

diag 21401181bf4f3727fad945a6d255c410

Pipeline

diag 21401181bf4f3727fad945a6d255c410

Gates

diag 50c6c1c414f5a57c38e95c54e18eec2d

Stages

diag 7577e8269fec6570fabe34ec09df01d3

For TEST

diag adba7267be0871f8c370ed473b6f9faa

For TEST

diag ca9ac719f67912d484758993b8cc39a3

For TEST

diag 8c389b4e06bb517ea6bd406117b0921e

For Acc

diag 5f065e9685a957729ab56fb1870e421b

For XprPro

diag 6429fd55d6f1994857d37cc0ec2eb919

Pipeline

diag 9c245e4ffe0badc0421d2be75e29e784

~18 jobs per project

Juli 2014

All ~1000 jobs
manually configured

March 2015

~1400 jobs
of which ~1300 generated

TAXP-job-generator

taxp job generator

Jenkins job generator

  • Follows TAXP standards

  • Sprinthops with the projects

  • Documented

  • Tested

  • One json file per project

self service laundry

Workflow

  • Create git repositories
    (System_Create_Git_Repositories)

  • Fork dpi/taxp-job-generator

  • Make change on branch

  • Test/inspect locally

  • Commit && push

  • Create merge-request

Seed

  • Seed job is triggered after push to master

  • Seed_Acc and Seed_XprPro
    on push to specific branch

  • Seed job run takes ~1 minute
    (unless busy, may take ~10 minutes)

  • Seed job updates Jenkins jobs to new state

Not perfect

  • Limited by implementation

  • No strict checking

Next steps

  • Support MotM phases

  • Strict config validation

  • Generic config

    • Custom pipelines

    • Hook into standards
      (eg. artifactory, rundeck, …​)

MayFly

  • pipeline config in project repo

  • project team in control of pipeline

Resources

Give feedback & discuss ideas

Thanks