ci/cd for everyone else
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