Jenkins, jclouds, CloudStack, and CentOS by David Nalley
Preview:
Citation preview
- 1. Jenkins, jclouds, CloudStack, and CentOS David Nalley
@ke4qqq ke4qqq@apache.org 10 November 2014
- 2. #whoami Recovering sysadmin Former server hugger, now cloud
addict Contributor to a few open source projects: Fedora, Zenoss,
CloudStack, jclouds VP, Infrastructure for the Apache Software
Foundation Employed by Citrix in the Open Source Business Office
Jenkins + jclouds + Centos + CloudStack
- 3. Background: Jenkins Continuous Integration Server Formerly
Hudson community forked Written in Java MIT-Licensed Lots of
plugins Jenkins + jclouds + Centos + CloudStack
- 4. Background: Apache jclouds Cloud Abstraction Library Written
in Java ASLv2 License Jenkins + jclouds + Centos + CloudStack
- 5. Background: Apache CloudStack Formerly from Cloud.com
Compute- focused IaaS management solution. Started in 2008 Now a
top level project at the ASF Written in Java ASLv2 Jenkins +
jclouds + Centos + CloudStack
- 6. The Problem Lots of different testing needs multiple
platforms, multiple versions, multiple versions of software.
Jenkins + jclouds + Centos + CloudStack
- 7. The Problem at scale We have nearly 200 software projects
each with their own set of needs, distinct platforms. Some want
CentOS 5, 6, or 7; others want OSX, Win 2012, Ubuntu, FreeBSD, or
Solaris. Demand varies widely projects getting closer to release
test more; some days we had hundreds of jobs in the queue, other
days we had 20 or 30 Jenkins + jclouds + Centos + CloudStack
- 8. The transition for monolith to scalable. Jenkins + jclouds +
Centos + CloudStack
- 9. Where we were Dedicated Jenkins master Esoteric things had
VMs ~30 dedicated machines, strewn across multiple datacenters.
Jenkins + jclouds + Centos + CloudStack
- 10. How we started our move Defining what a build slave needs
Make sure that Jenkins is working efficiently (Misconfigured jobs
are a huge drain) Adopted a LTS version of Jenkins Jenkins +
jclouds + Centos + CloudStack
- 11. Building images Packer building images Start with JeOS
declare everything else in puppet, run puppet as a job. Create a
jenkins job for this everytime a job changes rebuild, reupload.
Jenkins + jclouds + Centos + CloudStack
- 12. How you plan to use Cloud Server huggers wanted to use
fixed VMs (deploy fixed machines) Jenkins + jclouds + Centos +
CloudStack
- 13. How you want to use cloud Fresh, dynamically provisioned VM
for each build Jenkins + jclouds + Centos + CloudStack
- 14. The right answer Jenkins + jclouds + Centos +
CloudStack
- 15. The right answer (for us) Spin up build slaves in response
to demand. Leave the machine up for 30 minutes after demand
subsides to keep from flapping. Jenkins + jclouds + Centos +
CloudStack
- 16. Make it all work Jenkins + jclouds + Centos +
CloudStack
- 17. Install the jclouds plugin Jenkins + jclouds + Centos +
CloudStack
- 18. Choose a cloud provider Jenkins + jclouds + Centos +
CloudStack
- 19. Configure Jenkins + jclouds + Centos + CloudStack
- 20. Configure Jenkins + jclouds + Centos + CloudStack
- 21. Profit? Jenkins + jclouds + Centos + CloudStack
- 22. Bonus Jenkins + jclouds + Centos + CloudStack
- 23. Get Involved Web: http://cloudstack.apache.org/ Mailing
Lists: cloudstack.apache.org/mailing-lists.html IRC:
irc.freenode.net: 6667 #cloudstack Twitter: @cloudstack LinkedIn:
www.linkedin.com/groups/CloudStack-Users-Group-3144859 If it didnt
happen on the mailing list, it didnt happen. Jenkins + jclouds +
Centos + CloudStack