ci/cd for everyone else

23
INTEL® CLOUD FOR ALL OpenStack* CI/CD for Everyone Else Victor Morales

Upload: victor-morales

Post on 12-Jan-2017

46 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: CI/CD for everyone else

INTEL® CLOUD FOR ALL

OpenStack* CI/CD for Everyone Else

Victor Morales

Page 2: CI/CD for everyone else

INTEL® CLOUD FOR ALL

2

• Work for Intel since 2011• OSIC Cloud engineer• OpenStackGDL co-founder• Passionate programmer

Victor Morales

https://about.me/electrocucaracha

Page 3: CI/CD for everyone else

INTEL® CLOUD FOR ALL

Solution

and/or Idea

Page 4: CI/CD for everyone else

INTEL® CLOUD FOR ALL

4

Journey to productionInfrastructureSolution/Idea

https://twitter.com/emaganap/status/775095436830834688

to

Page 5: CI/CD for everyone else

INTEL® CLOUD FOR ALL

https://twitter.com/dfflanders/status/774642825451409408

Page 6: CI/CD for everyone else

INTEL® CLOUD FOR ALL

6

Continuous Integration is a software development practice where members of a team integrate their work frequently...• http://martinfowler.com/articles/continuousIntegration.html

CI/CD

Continuous Delivery is about keeping your application in a state where it is always able to deploy into production. Continuous Deployment is actually deploying every change into production, every day or more frequently. • http://martinfowler.com/delivery.html

Page 7: CI/CD for everyone else

INTEL® CLOUD FOR ALL

7

Development Infrastructure

Page 8: CI/CD for everyone else

8INTEL® CLOUD FOR ALL

Put an idea in production in less than one day…that can be maintainable through application

lifecycle.

Page 9: CI/CD for everyone else

INTEL® CLOUD FOR ALL

9

ComponentsImplementation

Page 10: CI/CD for everyone else

INTEL® CLOUD FOR ALL

10

Components EvaluationCI/CD components Automation server Version Control Software Build System Bug Tracking System Notifications System Code Analysis Reports

• Points to consider• License• Features• Level of integration• Installable

Page 11: CI/CD for everyone else

INTEL® CLOUD FOR ALL

11

Automation Server License MIT

Features:– Easy installation (java –jar jenkins.war)– Easy configuration– Rich plugin ecosystem– Extensibility– Distributed builds

Email Notifications and publishing reports. Revision Control System Integration (Git*, CVS*,

Subversion*) Authentication (Jenkins User Database, LDAP, Unix

database)

Jenkins*

Page 12: CI/CD for everyone else

INTEL® CLOUD FOR ALL

12

Bug Tracking System License GPLv2 Features:

– Customizable workflow/fields– Plugin API– Multiple Projects– Full-text search– Test planning integration

Notification Interfaces (Email, RSS, Atom, XMPP, Twitter)

Revision Control System Integration (Git, Mercurial, Bazaar, CVS, Subversion, Perforce, Darcs)

https://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems

Page 13: CI/CD for everyone else

INTEL® CLOUD FOR ALL

13

Version Control Software

License GPLv2 Features:

– Branching and Merging model

– Small and Fast – Distributed– Data Assurance– Staging Area

Page 14: CI/CD for everyone else

INTEL® CLOUD FOR ALL

14

Version Control Software II

License Apache License 2.0 Features:

– Git* integration– User interfaces (Web, CLI)– Support different databases– Authentication methods

It’s based on the assumption that each commit is reviewed separately

Gerrit*

Page 15: CI/CD for everyone else

INTEL® CLOUD FOR ALL

15

Architecturecicd-router

Hostname: gerritFloating IP: ${gerrit_floatingip}

Hostname: jenkinsFloating IP: ${jenkins_floatingip}

Hostname: redmineFloating IP: ${redmine_floatingip}

Hostname: redmine-db

Network: cicd-privateSubnet: cicd-subnet(192.168.50.0/24)

External Gateway(${var.external_gateway})

Page 16: CI/CD for everyone else

INTEL® CLOUD FOR ALL

16

DeploymentImplementation

Page 17: CI/CD for everyone else

INTEL® CLOUD FOR ALL

17

Deployment tool

Terraform

License Mozilla Public License v2.0 Features:

– Execution Plans– Resource Graph– Focused on bootstrapping and initializing resources– Cloud-agnostic (e.g. AWS, GCP, Microsoft Azure,

OpenStack)– Provides a simple, unified syntax,

Page 18: CI/CD for everyone else

INTEL® CLOUD FOR ALL

18

Setup

Page 19: CI/CD for everyone else

INTEL® CLOUD FOR ALL

19

Demo

Page 20: CI/CD for everyone else

INTEL® CLOUD FOR ALL

Future plans High Availability (Load balancers, Clusters, etc.) Security Improvements Support more Cloud Providers ImmutableServer (http://martinfowler.com/bliki/ImmutableServer.html)

Page 21: CI/CD for everyone else

INTEL® CLOUD FOR ALL

21

https://github.com/openstack/osops-tools-contrib/tree/master/terraform/cicd

Thanks

Page 22: CI/CD for everyone else

Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Learn more at intel.com, or from the OEM or retailer.

No computer system can be absolutely secure.

Tests document performance of components on a particular test, in specific systems. Differences in hardware, software, or configuration will affect actual performance. Consult other sources of information to evaluate performance as you consider your purchase.  For more complete information about performance and benchmark results, visit http://www.intel.com/performance. 

Intel, the Intel logo and others are trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others.

© 2016 Intel Corporation.

Legal notices and disclaimers

Page 23: CI/CD for everyone else