Zuul, the Third
Throws Away Any Dirt! Szymon Datko
szymon.datko@corp.ovh.com
Roman Dobosz
rdobosz@redhat.com
6th November 2019
- Sz. Datko, R. Dobosz
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 1 / 42
Zuul, the Third Throws Away Any Dirt! Szymon Datko Roman Dobosz - - PowerPoint PPT Presentation
Zuul, the Third Throws Away Any Dirt! Szymon Datko Roman Dobosz szymon.datko@corp.ovh.com rdobosz@redhat.com 6th November 2019 Sz. Datko, R. Dobosz Zuul, the Third - Throws Away Any Dirt! 6th November 2019 1 / 42 About us Szymon Datko
szymon.datko@corp.ovh.com
rdobosz@redhat.com
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 1 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 2 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 3 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 4 / 42
(OpenStack’s Zuul: May 2012)
Images sources: https://onlyfullstack.blogspot.com/2018/09/microservices-with-zuul-gateway29.html, https://commons.wikimedia.org/wiki/File:Unofficial_JavaScript_logo_2.svg.
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 5 / 42
Images sources: https://ghostbusters.fandom.com/wiki/Zuul, https://www.sciencemag.org/news/2017/05/demon-faced-dinosaur-named-after-ghostbusters-baddie.
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 6 / 42
Sources: https://zuul-ci.org/users.html, https://sdtimes.com/cicd/cicd-platform-zuul-version-3-released/.
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 7 / 42
James Blair, "How OpenStack Improves Code Quality with Project Gating and Zuul"
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 8 / 42
* - except for Scheduler; we will come back to this later.
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 9 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 10 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 11 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 12 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 13 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 14 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 15 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 16 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 17 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 18 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 19 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 20 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 21 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 22 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 23 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 24 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 25 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 26 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 27 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 28 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 29 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 30 / 42
1| sudo apt-get install docker-compose git python3-pip 2| sudo python3 -m pip install git-review
1| git clone https://opendev.org/zuul/zuul
1| cd zuul/doc/source/admin/examples 2| sudo -E docker-compose up Based on: https://zuul-ci.org/docs/zuul/admin/quick-start.html (12th June 2019).
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 31 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 32 / 42
1| git clone http://localhost:8080/zuul-config 2| cd zuul-config && mkdir zuul.d 3| vim -p zuul.d/{jobs.yaml,pipelines.yaml,projects.yaml} 4| git add zuul.d && git commit -m 'init' && git review
1| git clone http://localhost:8080/test1 2| cd test1 && mkdir playbooks 3| vim -p playbooks/testjob.yaml .zuul.yaml 4| git add . && git commit -m 'basic tests' && git review
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 33 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 34 / 42
1| # 2| # Example for quick start step 5: 3| # jobs.yaml 4| # 5| - job: 6|
7|
8|
9|
10|
11|
1| # 2| # Example for quick start step 5: 3| # projects.yaml 4| # 5| - project: 6|
7|
8|
9|
10|
11| 12| - project: 13|
14|
15|
16|
17|
18|
19|
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 35 / 42
1| # 2| # Example for quick start step 5: pipelines.yaml 3| # 4| - pipeline: 5| name: check 6| description: | 7| Newly uploaded patchsets enter this pipeline to receive an 8| initial +/-1 Verified vote. 9| manager: independent 10| require: 11| gerrit: 12|
13| current-patchset: True 14| trigger: 15| gerrit: 16|
17|
18|
19| comment: (?i)^(Patch Set [0-9]+:)?( [\w\\+-]*)*(\n\n)?\s*recheck 20| success: 21| gerrit: 22| Verified: 1 23| mysql: 24| failure: 25| gerrit: 26| Verified: -1 27| mysql: 28| 29| (...) 30| # Continuation on next slide
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 36 / 42
31| (...) 32| - pipeline: 33| name: gate 34| description: | 35| Changes that have been approved are enqueued in order in this 36| pipeline, and if they pass tests, will be merged. 37| manager: dependent 38| post-review: True 39| require: 40| gerrit: 41|
42| current-patchset: True 43| approval: 44|
45| trigger: 46| gerrit: 47|
48| approval: 49|
50| start: 51| gerrit: 52| Verified: 0 53| success: 54| gerrit: 55| Verified: 2 56| submit: true 57| mysql: 58| failure: 59| gerrit: 60| Verified: -2 61| mysql:
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 37 / 42
1| # 2| # Example for quick start step 7: playbooks/testjob.yaml 3| # 4| - hosts: all 5|
6|
7|
1| # 2| # Example for quick start step 7: .zuul.yaml 3| # 4| - job: 5|
6|
7| 8| - project: 9|
10|
11|
12|
13|
14|
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 38 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 39 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 40 / 42
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 41 / 42
szymon.datko@corp.ovh.com
rdobosz@redhat.com
Zuul, the Third - Throws Away Any Dirt! 6th November 2019 42 / 42