From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id DFF13138CDC for ; Sat, 20 Jun 2015 19:36:18 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E035B1405E; Sat, 20 Jun 2015 19:36:12 +0000 (UTC) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id ECFE114053 for ; Sat, 20 Jun 2015 19:36:11 +0000 (UTC) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 81049206CD for ; Sat, 20 Jun 2015 15:36:11 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute2.internal (MEProxy); Sat, 20 Jun 2015 15:36:11 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=s8nceNpSXIXZJ/n0Vxoqa2t2GWU=; b=t3a/M OEl5R1wFpZqnnpJpAxoK4Fj3Rx6d9B45epx8+TUBj+2hwqbDPn4aG40glxUH7E7+ RMpIQTQpoefC/3sa0xyzN2q1tQnN8+/jlcQSivJBk1lILYJbrC14i5Q/ztcBwxnD YqGPmg2uO7FnONunU9bj7JbaGcGYNBmXvHBBTk= X-Sasl-enc: DiJWEDQYIMNWxW+ggqrbGM8CTX2mrkdqysZHtBqsGnxh 1434828971 Received: from apio (unknown [141.212.23.205]) by mail.messagingengine.com (Postfix) with ESMTPA id 1F5FDC0028F; Sat, 20 Jun 2015 15:36:10 -0400 (EDT) Date: Sat, 20 Jun 2015 15:36:05 -0400 From: Alec Ten Harmsel To: gentoo-user@lists.gentoo.org Subject: Re: [gentoo-user] Jenkins Message-ID: <20150620193605.GA5788@apio> References: Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Archives-Salt: 5173fd0e-8e34-474d-80b3-8ab7f456d021 X-Archives-Hash: d5c4662ece0c9837740148e647379ef4 On Sat, Jun 20, 2015 at 07:03:18PM +0000, James wrote: > Hello one and all, > > > I want to first install Jenkins on a single multicore amd system, so > I found this brief guide (which seems simple enough): > > https://code.google.com/p/godin-gentoo-repository/wiki/Jenkins > I highly recommend playing with the Jenkins docker container to get a feel for using the web UI: docker run -p 8080:8080 -d jenkins The official jenkins image comes with the bare minimum of libraries so good luck building any C/C++ project, but it is helpful just to point and click around (if you already have docker, that is). > > What I also need is an example collection of code to run Jenkins-CI scripts > on, sort of as a benchmark. I figure it would be best to learn about > Jenkins by merely trying to follow/duplicate an existing (hopefully small) > Jenkins CI project. Basically a monkey-see-monkey-duplicate sort of endeavour. > > > This will also allow me to then duplicate the Jenkins-CI onto the gentoo > mesos clusters (small right now) I have built to debug problems or issues > with Jenkins running on a gentoo-mesos-cluster. Ideas on how to perform > comparison (benchmarks) between the single multi-processor Jenkins-CI and > the one on top of a cluster, would be warmly received too. > This is not really a fair comparison. Jenkins has no concept of cores, only "executors". Each executor can run one build at a time. Jenkins was written with Java in mind (AFAIK), and Java build tools are the reason for this. `javac` by default launches some number of threads (not sure how many on other systems, but on my laptop it's usually 3) and compiles in parallel. I'm not sure it's possible to control this (someone feel free to correct me if I'm wrong), hence Jenkins does not care about cores and only about how many builds are allowed to run in parallel at once. This is different than make and just other build tools in general that I've worked with for other languages. So, to the point; when you add more build slaves with more executors, you will be able to run more builds in parallel and it will therefore be faster. This gets even more complicated since you can constrain builds to only run on certain hosts and various other complicated setups, but in general more executors means more builds in parallel means faster. > > After that is completed and stable, then I'm going to attempt to move > other codes to this gentoo-mesos-jenkins-CI framework. > > > Any suggestions are most welcome. > > James > > My main suggestion is to not bother running a Jenkins cluster and stick with a single host setup unless: * You are building so many things that utilization is near 100% * You are targeting multiple platforms and therefore need multiple build hosts Alec P.S. I could not find any reference to parallel, threads, processes or anything else on javac's man page that makes me think it is easy to set the number of threads it uses.