To #7, slaves do not need the master config files at all, they only need the 
libraries used by the jobs.
Our master has no executors, all jobs are built on slaves. Master and slaves 
have different config. Slaves running with user jenkins-slave (master jenkins), 
only the tools/libs are sync-ed, nothing else need to be preserved. So we do 
have a slave running on the master host, but that's complete transparent for 
the master.



zperry <zack.pe...@sbcglobal.net> schrieb:

>Hi Les,
>
>Finally, the first sentence in "*Distributed
>builds*<https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds>"
>
>wiki and the list from Kohsuke
>Kawaguchi<https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-Example%3AConfigurationonUnix>started
>making sense to me.  Thank you once more for sharing your 
>experience.
>
>Regarding the list (*shown below, and somewhat shortened and edited by
>me, 
>e.g. s#/var/jenkins#/var/lib/jenkins#*), could you please comment on 
>
> - #1 (the bold faced part). Is it really necessary?  For example, the 
>uid/gid usage in Fedora differ quite much from that of Ubuntu.  I doubt
>
>even NIS would make it simpler.  My approach is to review the
>/etc/passwdand 
>/etc/group of all target platforms, pick a pair of uid/gid that are not
>
>used by all, and assign the pair for Jenkins' use (on both the master
>and 
>   slaves).  The packages provided on Jenkins pkg site (e.g 
>http://pkg.jenkins-ci.org/redhat/) don't make this task transparent, so
>the 
>   above step seems to be necessary.
>- #7.  Do you think it's a nearly optimal way to do as part of setting 
>   up a slave?
>   - #8. IMHO this is optional. What would you recommend?
>
>
>1. Each computer has an user called jenkins and a group called jenkins.
>*All 
> computers use the same UID and GID*. (If you have access to NIS, this 
>   can be done more easily.) This is not a Jenkins requirement, but it 
>   makes the slave management easier. 
>   2. On each computer, /var/lib/jenkins directory is set as the home 
> directory of user jenkins. Again, this is not a hard requirement, but 
>   having the same directory layout makes things easier to maintain. 
>   3. All machines run sshd. Windows slaves run cygwin sshd. 
>  4. All machines have ntpdate client installed, and synchronize clock 
>   regularly with the same NTP server. 
>   5. Master's /var/lib/jenkins have all the build tools beneath it. 
>   6. Master's /var/lib/jenkins/.ssh has private/public key and 
>authorized_keys so that a master can execute programs on slaves through
>
>   ssh, by using public key authentication. 
>   7. *On master, I have a little shell script that uses rsync to 
>   synchronize master's /var/lib/jenkins to slaves (except 
>/var/lib/jenkins/workspace) I use this to replicate tools on all
>slaves. 
>   *
>8. (*optional*) /var/lib/jenkins/bin/launch-slave is a shell script
>that 
>   Jenkins uses to execute jobs remotely. 
>9. Finally all computers have other standard build tools like svn and
>cvsinstalled and available in 
>   PATH. 
>
>Regards,
>
>-- Zack

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.

Reply via email to