Automate the installation and configuration of Jenkins using puppet - jenkins

Is there a way to automate the installation of Jenkins using puppet language?
I want to be able to install Jenkins and its prerequisites without manual intervention, and configure it to serve requests of port 8000.
I'm using Centos 7.
Not sure where to start so any help or advice is appreciated.

There is a jenkins (src) puppet module on the forge that allows you to do exactly that.
Once you have your Puppet infrastructure setup, you would need to install (or add through Puppetfile) the jenkins module and classify your node with Jenkins:
node '<certname>' {
include jenkins
}

Related

Can Jenkins be used for Docker Swarm deployment?

How to automate Jenkins for Docker Swarm deployment.
I am wondering if there are any plugins available in Jenkins which will help in Docker Swarm deployment or any other alternative way through which we can achieve the automation of Swarm deployment using Jenkins existing plugins?
Fixed this problem by using a plugin called Publish over SSH
Need to install a Jenkins plugins “Publish over SSH”, this plugin will allows us to
Sends files over SSH(SFTP)
Execute commands on a remote server
First step will be to add remote hosts and second will be to add an execution/build step where the commands will be executed
Follow this link for step by step instruction

How to connect jenkins to docker?

I have one jenkins server. There I cannot install docker. So the question is what is the correct way of integrating jenkins with a docker server? Whats the fastest easiest and most convenient way to integrate it?
1.Through a jenkins node with docker installed there
2.Through ssh? And if - how would the configuration look?
3.Only through installed docker on the main jenkins server
4.Other?
that depends on the version of Docker engine you are about to install and the jobs you want to sue it for ( pipeline , freestyle )
basically if your docker engine is no greater then version 1.11 the best way is to use Docker Plugin from Jenkins if you want to simulate containers as slaves.
you can also use workflow docker plugin and even ssh as you said.
it all depends on what you want to achieve from your docker usage

Automate configuration of Jenkins & Sonarqube

I am trying to find a solution to automate installation and configuration of Jenkins & SonarQube. The idea is to provide an easy to use provisioning utility for setting up CI. Ideally I would love to automate the following
Installation
Set up users,Build, Unit testing and Code coverage
Is there an SDK, CLI or similar which can be used from batch script?
Thanks
You can use the Jenkins docker image for the installation part - even if you're not using Docker you can still copy the installation procedure:
https://github.com/jenkinsci/docker
For the setup of jobs I would recommend the Job DSL:
https://github.com/jenkinsci/job-dsl-plugin
For the rest you can use the Jenkins CLI or you can manually configure it once and then extract the corresponding XML file from the Jenkins home and copy it into other installations.

Jenkins Puppet integration

My development setup is such that for every svn checkin code is built,unit tested, packaged and published in Artifactory. Now I want to automate my deployment process & run integration(Selenium) test as part of this process. I am thinking of using Puppet to managed the deployment
Is puppet the correct tool for this
What is the process I should use to trigger puppet master to initiate a fresh installation on agents, I couldn't find any Jenkins plugin that would actually trigger puppet. One option is to call
puppet apply ...
as a Jenkins post build task
Any suggestions welcome, thank you.
Have a look at this Selenium Jenkins article from Saucelabs, a service that automates cross-browser testing. Though they are a vendor with a service to sell, the article covers how to do Selenium testing yourself with Jenkins. It also exposes common pain points you are likely to run into with this approach.
A Puppet master doesn't serve the function of orchestrating client convergences. Take a look at Mcollective. This is a tool that will allow you to trigger puppet runs on target systems from a Jenkins agent via script commands.
Some Mcollective getting started material:
http://www.slideshare.net/PuppetLabs/presentation-16281121
http://puppetlabs.com/mcollective

Puppet Plugin for Jenkins

How to integrate Jenkins with Puppet?
As of now i am integrating Jenkins with Puppet. But We dont know which puppet plugin will support for jenkins. Can you please help on us.
It depends on what you want to achieve. If you simply want to deploy the manifests, there is no need for a puppet plugin. You could use the Publish over SSH plugin or something that let you push your code to the puppet master.
To actually execute puppet commands a generic job configuration would be fine.
If you are looking for a full chain of source control, tests and deployment for your manifests, you should take a look at Gerrit and how to integrate it with Jenkins using the Gerrit Trigger plugin

Resources