X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@lists.alpinelinux.org Received: from mail-bw0-f222.google.com (mail-bw0-f222.google.com [209.85.218.222]) by lists.alpinelinux.org (Postfix) with ESMTP id E7FD84DF073A for ; Thu, 29 Oct 2009 16:57:48 +0000 (UTC) Received: by bwz22 with SMTP id 22so2641632bwz.25 for ; Thu, 29 Oct 2009 09:57:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:cc :in-reply-to:references:content-type:date:message-id:mime-version :x-mailer:content-transfer-encoding; bh=nQnwpvg7Kc13IMUQWmD3KMGyoMOiv/JJYAoaLxRKmmE=; b=qlE+PyoFQGDktbfcBN7/IQoKa1IJG38fDH1tlOtZVUUH7DHbnm8dhtIxXV6FrYt6zS mIm0MZ85wsWkpyKdTs4gI4wp7tOiiSdJIgVVmCcpOXseimO3Kk37KPCSjzI5EbqC7xeW rRFluFMKxNtge0Mb/yQnc3ZxkVuka3B3fN9tI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:cc:in-reply-to:references:content-type:date :message-id:mime-version:x-mailer:content-transfer-encoding; b=QiYBHfgXlOo9z/QURd+vk0eOjtXDiaIKx7eC1TC1iXv8hP4l1faoWXhiESMA5fy7UY A/YvFnSwkdTB2WL9RtjxyslF3nVxbZxJN/0wdAQCDdg9DIdKAPE9omJshtvb7/3RvIc1 ksibieBf6JYkVYWws6S/9s3TCzGOn5FGXJnh0= Received: by 10.204.10.6 with SMTP id n6mr226056bkn.27.1256835467757; Thu, 29 Oct 2009 09:57:47 -0700 (PDT) Received: from ?10.65.65.1? ([90.149.48.245]) by mx.google.com with ESMTPS id 22sm1864009fkq.21.2009.10.29.09.57.45 (version=SSLv3 cipher=RC4-MD5); Thu, 29 Oct 2009 09:57:47 -0700 (PDT) Subject: Re: [alpine-devel] new build server From: Natanael Copa To: jeremy@thomersonfamily.com Cc: alpine-devel@lists.alpinelinux.org In-Reply-To: <6602aeca0910290646nfb59f7et4acfec11314953f@mail.gmail.com> References: <1256801075.20939.2767.camel@ncopa-desktop.nor.wtbts.net> <6602aeca0910290646nfb59f7et4acfec11314953f@mail.gmail.com> Content-Type: text/plain; charset="UTF-8" Date: Thu, 29 Oct 2009 18:00:07 +0100 Message-ID: <1256835607.20939.3220.camel@ncopa-desktop.nor.wtbts.net> X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: Mime-Version: 1.0 X-Mailer: Evolution 2.28.1 Content-Transfer-Encoding: 7bit On Thu, 2009-10-29 at 08:46 -0500, Jeremy Thomerson wrote: > Wow - you must never sleep! Congratulations. This is a great > improvement. > > PS - you probably considered this, but in the future if you want an > easy way to communicate a queue or event triggering between multiple > servers, try ActiveMQ. It's an enterprise messaging bus and has > clients in pretty much any language. You can even set it up to > receive or broadcast events through simple HTTP if you need to. > Anyway, I've used it on a bunch of projects and it's super easy to set > up and a great piece of software. Using something like that would > even give you the ability to have multiple build servers subscribing > to the channel and either building all packages, or dividing up the > packages, each building one until the queue is done. > > Just a thought anyway.... Yeah, I would actually like/need something like that. What I have still dont work perfectly. ssh seesions are not terminated on server. I'd need a: * git hook that sends a single line to the message server * clinents/buildserver(s) that just sits idle til they get the message * something that does nto require java and is alot lighter than 33MB. in other words, is there anything simpler/lighter than ActiveMQ? Thanks! -nc > Jeremy Thomerson > > On Thu, Oct 29, 2009 at 2:24 AM, Natanael Copa > wrote: > Hi, > > We have got a new build server. I have spent last days on > setting it up. > The idea is that we want a git hook to trigger building > updated packages > and uploading them to master mirror. Since git server and > build server > are 2 different we could have solved it with a cron job. Not > good enough > I thought... > > So, what we do is we create a fifo for each git branch on the > git > server. Then we have a git hook that writes to the fifo when > someone > pushes changes. > > Then on build server, we run a daemon that ssh to the git > server and > read from the fifo. For each read line, it rebuilds and > uploads new > packages. That way we avoid race conditions when 2 different > developers > pushes stuff at the same time and we avoid the delays we would > have when > using cron jobs. > > Then I wanted this to run as a daemon, that starts/stops from > an init.d > script so it starts up automatically after a reboot. Having it > start was > easy. I wrote a daemon in shell for that. Having it stop was > not so > easy, since when the daeomn was killed the ssh process was > left running. > I could not solve that in shell, so i rewrite it in lua. Lua > lacks > signal handling so I ended up rewrite it in C. After a bug > that > forkbombed my vserver host to death (!!?) and a bug that > killed all the > packages on main mirror we are finally back and things are > working. > > The new build server have 8 horses that kicks so if a > developer wants a > build environment for kernel hacking or similar, just let me > know. > > -nc > > > > --- > Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org > Help: alpine-devel+help@lists.alpinelinux.org > --- > > --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---