juc europe 2015: multi-node environment as a jenkins slave (compound-slave)
Post on 15-Jan-2017
99 Views
Preview:
TRANSCRIPT
Multi-node environment as a Jenkins slave aka “compound-slave”
Denis Chernilevskiy
Head of Media Advertising Department
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
Common use-case the “prehistory”
Multi-node environment as a Jenkins slave
The solution
▌ Cloud – Amazon/OpenStack/Docker/…
▌ Deploy – JClouds/DockerCloud + Chef/Salt/Ansible/…
▌ Test – PyTest/TestNG/…
▌ Results – Allure Framework/xUnit/…
7
How it works
▌ The common job concept
› Take 1 slave
› Deploy the system under test to the slave
› Deploy and run tests on the same slave
› Clean the slave
› Return the slave to the pool
8
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
The “real life” of QA/DevOps the problem
Multi-node environment as a Jenkins slave
System components
▌ Front-end UI and API
▌ Ad.Management
▌ Ad.Selection ▌ Ad.Storage
▌ SocDem prediction & machine learning
16
The obvious “not a solution” J
▌ Use Jenkins
▌ Get a slave for the job
▌ Get some more cloud nodes (somehow)
▌ Use the slave as a launchpad (run deploy, tests remotely)
18
Why not?
▌ Laziness. The less new code, the better! ▌ Separate nodes management
▌ JClouds not reused ▌ Lack of visibility
20
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
“Compound-slaves” plugin the solution
Multi-node environment as a Jenkins slave
Features
▌ Group several nodes as a compound-slave
› Existing nodes grouping
› Get & group from the cloud
25
Features
▌ Cloud provisioning
› Plugins with a “Cloud” interface
› Using labels from the cloud plugin
› Number of each label to provision
26
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
Here comes the DEMO! J
Features
▌ General
› Built-in slave management
› Built-in job-slave provisioning
▌ Visibility
› Built-in dashboards
› Built-in job steps configuration
29
Links
▌ wiki.jenkins-ci.org/display/JENKINS/Compound+Slaves
▌ github.com/jenkinsci/compound-slaves-plugin
31
top related