Code Monkey home page Code Monkey logo

phplive-2021-gitlab-ci-parent-child-pipelines's Introduction

Gitlab CI - intro into Parent-child + Dynamic child pipelines

Repository used for live demo on PHPLive 2021 conference.

Slides

Need help with CI/CD?

I love to solve complex CI/CD problems and challenges.

I offer consultations on various topics. If you would like to get a helping hand, let's have chat, maybe I can help you.

Demos

Goal is to demonstrate through the demos, how to get from "classic approach" to parent-child pipelines, with dynamic child pipelines.

As a bonus, there is simple script, that can build up "dependency tree" for packages. It is used to trigger pipelines only for those packages that are affected and their dependencies.

Demo 1

"Classic approach" - monorepo without parent-child pipelines, everything run in the same pipeline.

Demo 2

Simple implementation of parent-child pipelines.

Demo 3

Example of failed pipeline to demonstrate the UI and behaviour.

Demo 4

Introduction of depend strategy to make parent pipeline fail if one of children fail.

Demo 5

Introduction to dynamic child pipelines with exactly the same behaviour - dynamically generating pipelines for all packages. This is 2 level parent-child pipelines.

Demo 6

Introduction to merge request pipelines (without dynamic child pipelines yet) - trigger pipeline only package that has been directly changed.

Demo 7

Merge request pipelines with dynamic child pipelines combined together.

Demo 8

The "Ultimate demo" - merge request pipeline with dynamic child, run pipelines for package that has been directly changed + all dependent packages, to make sure nothing have been broken up.

Useful resources

phplive-2021-gitlab-ci-parent-child-pipelines's People

Contributors

janmikes avatar

Stargazers

Mehdi MAHFOUDI avatar Donhector avatar Juan López avatar zengqingfu1442 avatar mordek avatar Azman avatar Jason avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.