13
Continuous Integration and Delivery for Free and Open Source Software Development Dong Ma Hewlett Packard Enterprise [email protected] LinuxCon Japan 2016 Thursday, 14 July 2016

Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

Embed Size (px)

Citation preview

Page 1: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

Continuous Integration and Delivery for Free and Open

Source Software Development

Dong Ma

Hewlett Packard Enterprise

[email protected]

LinuxCon Japan 2016

Thursday, 14 July 2016

Page 2: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

Dong Ma (Vincent)

• Hewlett Packard Enterprise software engineer, focused on Free and Open Source Software development

• OpenStack Infrastructure Team software engineer focused on Jenkins and OpenStackCI

• FOSSology project core contributor

Page 3: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

Topics

• What’s CI/CD and why are they important for open source projects

• Typical workflow of CI/CD for OpenSource project

• OpenStack workflow

• How to leverage the OpenStack way

Page 4: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

What’s CI/CD

• CI/CD

• Why CI/CD important for Open Source project

Page 5: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

Typical Workflow of OpenSourceproject

Page 6: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

Problems

• Commits in rapid succession can make CI tests obsolete as they run

• It is possible to end up with a broken master temporarily, you not even know it.

Page 7: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

Doesn’t scale to large open source projects• OpenStack

• 50+ official projects

• More than 2000 contributors

• 100K+ patchsets submitted in the last development cycle

Page 8: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

OpenStack workflow

Page 9: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

OpenStack Infrastructure

Page 10: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

OpenStack Infrastructure update

• Zuul v3 and ansible to replace Jenkins

• Zuul v2.5 to solve immediate problems

Page 11: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

Problems solved

• The master version is always OK at any time

• Nodepool reduce the infrastructure costs

• Gated commits with Zuul ensure that tests are never obsolete

Page 12: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

How to leverage OpenStack way

• Tools we can use• Git

• Gerrit

• Zuul

• Jenkins (jenkins-job-builder)

• Nodepool

• http://docs.openstack.org/infra/openstackci/

Page 13: Continuous Integrateion and Delivery for Open Source and ... · PDF filefocused on Jenkins and OpenStackCI •FOSSology project ... •What’s CI/CD and why are they important for

Questions

• Contact• Email: [email protected]

• HPE Email: [email protected]

• Freenode: larainema

• Resource• http://docs.openstack.org/infra/system-config/