[kontinuity-dev-public] "Build slaves" in Jenkins pipelines

Ben Parees bparees at redhat.com
Wed Jun 1 02:58:37 UTC 2016


On Tue, May 31, 2016 at 10:27 AM, James Strachan <jstracha at redhat.com>
wrote:

> I’m a huge fan of 2); but currently that requires a pod for the JNLP slave
> and another pod for the docker image; which on premise or on Dedicated
> doesn’t really matter. But on OpenShift Online that is gonna be painful (3
> pods just for builds!); so option 1) using one or two curated pools of
> slaves of custom pod/mages might be simpler for Online. e.g. one slave pool
> for maven/java and one for nodejs?
>

​yeah so i've been leaning towards (1) due to it needing fewer pods, but it
does mean we have to provide some slave images, and/or an easy way to
create new slave images (which we actually already have here:
https://github.com/openshift/origin/blob/master/examples/jenkins/master-slave/jenkins-slave-template.json),
so certainly (2) feels like a better long term solution.

Providing maven/java and nodejs slave images out of the box seems likely.
​



>
>
> On 31 May 2016, at 15:19, Tomas Nozicka <tnozicka at redhat.com> wrote:
>
> Hi,
>
> how do we want to run our Jenkins "build slaves" in our pipelines?
>
> Options:
> 1) kubernetes plugin [1]
> = Example =
> node ('java8-maven') {
>   sh 'mvn package'
> }
> = EOF =
>  - tightly coupled to Jenkins instance (requires predefined pools of
> slaves which you can choose from)
>  - build environment is defined by admin not pipeline (Jenkinsfile)
>  - not generic
>
> 2) kubernetes-workflow plugin [2]
> = Example =
> kubernetes.pod('buildpod').withImage('java8-maven').inside{
>   sh 'mvn package'
> }
> = EOF =
>  + loosely coupled to Jenkins instance
>  + pipeline (Jenkinsfile) specifies build environment
>  + generic (pipelines can specify custom images)
>
> I am for option 2 because of the loose coupling to Jenkins and ability
> to specify (custom) build images as part of Jenkinsfile.
>
> And AFAIK catapult project is partially about taking user pipelines and
> setting those up with OpenShift(+Jenkins), I just don't see it working
> with the tight coupling and option 1.
>
> If we decide to go with option 2 we should probably integrate
> kubernetes-workflow plugin into jenkins-1-centos7:dev image.
>
> What do you think?
>
> Thanks,
> Tomas
>
> [1] - https://wiki.jenkins-ci.org/display/JENKINS/Kubernetes+Plugin
> [2] - https://github.com/fabric8io/kubernetes-workflow
>
> _______________________________________________
> kontinuity-dev-public mailing list
> kontinuity-dev-public at redhat.com
> https://www.redhat.com/mailman/listinfo/kontinuity-dev-public
>
>
>
> James
> -------
> Red Hat
>
> Twitter: @jstrachan
> Email: jstracha at redhat.com
> Blog: https://medium.com/@jstrachan/
>
> fabric8: http://fabric8.io/
> open source microservices platform
>
>
> _______________________________________________
> kontinuity-dev-public mailing list
> kontinuity-dev-public at redhat.com
> https://www.redhat.com/mailman/listinfo/kontinuity-dev-public
>
>


-- 
Ben Parees | OpenShift
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/kontinuity-dev-public/attachments/20160531/1c736ebe/attachment.htm>


More information about the kontinuity-dev-public mailing list