Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Jenkins, jclouds, CloudStack, and CentOS by David Nalley

665 visualizaciones

Publicado el

Setting up continuous integration for a single project can be a pretty daunting task. Doing that for hundreds of projects becomes a challenge of a different magnitude. Not only are their capacity problems, but some tests are destructive to the testing environment, some have esoteric environment demands. See how this is solved in the real world using Jenkins, jclouds, CloudStack to build an on-demand build infrastructure.

About David Nalley

David Nalley is the Vice President, Infrastructure at the Apache Software Foundation and a CloudStack PMC member.

Publicado en: Software
  • Sé el primero en comentar

Jenkins, jclouds, CloudStack, and CentOS by David Nalley

  1. 1. Jenkins, jclouds, CloudStack, and CentOS David Nalley @ke4qqq ke4qqq@apache.org 10 November 2014
  2. 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. 3. Background: Jenkins ‘Continuous Integration Server’ Formerly Hudson – community forked Written in Java MIT-Licensed Lots of plugins Jenkins + jclouds + Centos + CloudStack
  4. 4. Background: Apache jclouds Cloud Abstraction Library Written in Java ASLv2 License Jenkins + jclouds + Centos + CloudStack
  5. 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. 6. The Problem Lots of different testing needs – multiple platforms, multiple versions, multiple versions of software. Jenkins + jclouds + Centos + CloudStack
  7. 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. 8. The transition for monolith to scalable. Jenkins + jclouds + Centos + CloudStack
  9. 9. Where we were Dedicated Jenkins master Esoteric things had VMs ~30 dedicated machines, strewn across multiple datacenters. Jenkins + jclouds + Centos + CloudStack
  10. 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. 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. 12. How you plan to use Cloud Server huggers wanted to use fixed VMs (deploy fixed machines) Jenkins + jclouds + Centos + CloudStack
  13. 13. How you want to use cloud Fresh, dynamically provisioned VM for each build Jenkins + jclouds + Centos + CloudStack
  14. 14. The right answer Jenkins + jclouds + Centos + CloudStack
  15. 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. 16. Make it all work Jenkins + jclouds + Centos + CloudStack
  17. 17. Install the jclouds plugin Jenkins + jclouds + Centos + CloudStack
  18. 18. Choose a cloud provider Jenkins + jclouds + Centos + CloudStack
  19. 19. Configure Jenkins + jclouds + Centos + CloudStack
  20. 20. Configure Jenkins + jclouds + Centos + CloudStack
  21. 21. Profit? Jenkins + jclouds + Centos + CloudStack
  22. 22. Bonus Jenkins + jclouds + Centos + CloudStack
  23. 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 didn’t happen on the mailing list, it didn’t happen. Jenkins + jclouds + Centos + CloudStack

×