CI/CD for everyone else

Post on 12-Jan-2017

44 Views

Category:

Engineering

0 Downloads

Preview:

Click to see full reader

Transcript

INTEL® CLOUD FOR ALL

OpenStack* CI/CD for Everyone Else

Victor Morales

INTEL® CLOUD FOR ALL

2

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

Victor Morales

https://about.me/electrocucaracha

INTEL® CLOUD FOR ALL

Solution

and/or Idea

INTEL® CLOUD FOR ALL

4

Journey to productionInfrastructureSolution/Idea

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

to

INTEL® CLOUD FOR ALL

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

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

INTEL® CLOUD FOR ALL

7

Development Infrastructure

8INTEL® CLOUD FOR ALL

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

lifecycle.

INTEL® CLOUD FOR ALL

9

ComponentsImplementation

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

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*

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

INTEL® CLOUD FOR ALL

13

Version Control Software

License GPLv2 Features:

– Branching and Merging model

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

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*

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})

INTEL® CLOUD FOR ALL

16

DeploymentImplementation

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,

INTEL® CLOUD FOR ALL

18

Setup

INTEL® CLOUD FOR ALL

19

Demo

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)

INTEL® CLOUD FOR ALL

21

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

Thanks

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

top related