Creating a dynamic software deployment solution using free/libre software LinuxTag 2014 08.05.2014 Mattias Giese Solutions Architect for Systems Management and Monitoring B1 Systems GmbH [email protected]B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development
51
Embed
Creating a dynamic software deployment solution using free/libre software
Creating a dynamic software deployment solution using free/libre software
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Creating a dynamic softwaredeployment solution using free/libresoftwareLinuxTag 2014 08.05.2014
Mattias GieseSolutions Architect for Systems Management and Monitoring
Jenkins OverviewThe artist formerly known as HudsonThe first address for CIcan be used as Cron, general Job-Scheduler or Monitor600+ plugins (nifty)Alternatives: Travis-CI, CruiseControl, Bamboo
B1 Systems GmbHCreating a dynamic software deployment
is triggered through git post-receive hookchecks out git-repo (specific branch)runs configured build stepsafter successful build: trigger packaging process
B1 Systems GmbHCreating a dynamic software deployment
Open Build Service OverviewBuild Platform for packages or live media (kiwi)builds RPM (SUSE/RHEL), DPKG (Debian/Ubuntu) andPacman (Archlinux)public reference install at build.opensuse.orgCentral build platform for openSUSE
B1 Systems GmbHCreating a dynamic software deployment
Open Build Service OverviewExtensive API (CLI is an API client)can run hooks after successful publishing of a package/projectAlternatives: None, koji if all you want is RHEL
B1 Systems GmbHCreating a dynamic software deployment
Spacewalk OverviewSystem Lifecycle ManagementExtensive APIruns on RHEL/Fedora and Derivativessupports SUSE/RHEL and Derivatives, Debian somewhat.Base for SUSE Manager and Satellite (changing with 6.x)Alternatives: Pulp, if all you want is RHEL
B1 Systems GmbHCreating a dynamic software deployment
Usage in this scenarioProvisioning of packagesStaging of packagesAutomatic synchronization of packages in “Development”channelOn-Demand/automatic promotion of channel contents tointegration/production stages
B1 Systems GmbHCreating a dynamic software deployment
PuppetConfiguration Management Toolbased on Ruby, easy to learn DSLruns on many platforms (Linux, *nix, Windows)abstracts differences between those platformsis idempotentfeatures Inventory and Reporting on Infrastructure changesAlternatives: CFEngine, Chef, maybe Ansible or SaltStack
B1 Systems GmbHCreating a dynamic software deployment
The ForemanWebApp and API to automate infrastructureintegrates well with Puppetcan manage DHCP, DNS, TFTP, Puppet, “Clouds"features nice reporting and auditingAlternatives:Provisioning: Cobbler, RazorManagement: Puppet Dashboard/Puppet Enterprise Console,
Rudder (CFEngine)
B1 Systems GmbHCreating a dynamic software deployment
Usage of Foreman in this setupProvisioning of new bare-metal or virtual machinesSingle source of truth for PuppetReporting and Auditing of InfrastructureIdea: Use Foreman-API to trigger VM provisioning foracceptance tests
B1 Systems GmbHCreating a dynamic software deployment
VagrantWrapper around different Hypervisors and Provisionerssupports VirtualBox (First Class), VMware (commercial),libvirtd (somewhat) and Dockerruns on Linux, Mac OS X, WindowsProvisioners may be Shell, Puppet, Chef and so onEasy to use:
Dockerchroot on steroidsdesigned to execute and contain one processuses LXC, cgroups, UnionFS(AUFS)does not need a custom kernel (anymore)runs on many current Linux distributionsyep, it also runs on current RHEL6(.5) and SLES12 oncereleasednot useful in every scenario (no mounts, modules, init and so on)
B1 Systems GmbHCreating a dynamic software deployment
Serverspecbased on RSpecexecutes tests locally or remotely (ssh)integrates with Vagrant somewhatSupported resources: cgroup, command, cron,default_gateway, file, group, host, iis_app_pool,iis_website, interface, ipfilter, iptables,kernel_module and more
B1 Systems GmbHCreating a dynamic software deployment