forked from gluster/glusterfs
-
Notifications
You must be signed in to change notification settings - Fork 1
Jenkins Manual Setup
hchiramm edited this page May 19, 2015
·
1 revision
This is for RHEL/CentOS 6.x. The below commands should be run as root.
yum -y install cmockery2-devel dbench libacl-devel mock nfs-utils yajl perl-Test-Harness salt-minion
chkconfig yum-cron on
useradd -g mock mock
Because GlusterFS can fail if more than 1 ethernet interface
sed -i 's/ONBOOT=yes/ONBOOT=no/' /etc/sysconfig/network-scripts/ifcfg-eth1
As per https://access.redhat.com/site/node/8709
sed -i 's/IPV6INIT=yes/IPV6INIT=no/' /etc/sysconfig/network-scripts/ifcfg-eth0
echo 'options ipv6 disable=1' > /etc/modprobe.d/ipv6.conf
chkconfig ip6tables off
sed -i 's/NETWORKING_IPV6=yes/NETWORKING_IPV6=no/' /etc/sysconfig/network
echo ' ' >> /etc/sysctl.conf
echo '# ipv6 support in the kernel, set to 0 by default' >> /etc/sysctl.conf
echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf
sed -i 's/v inet6/- inet6/' /etc/netconfig
vi /etc/sysconfig/network
vi /etc/hosts
sed -i 's/^10\./#10\./' /etc/hosts
sed -i 's/^2001/#2001/' /etc/hosts
yum -y install ntp
chkconfig ntpdate on
service ntpdate start
yum -y install java-1.7.0-openjdk
useradd -G wheel jenkins
chmod 755 /home/jenkins
passwd jenkins
mkdir /home/jenkins/.ssh
chmod 700 /home/jenkins/.ssh
cp `<somewhere>` /home/jenkins/.ssh/id_rsa
chown -R jenkins:jenkins /home/jenkins/.ssh
chmod 600 /home/jenkins/.ssh/id_rsa
su - jenkins
mkdir ~/foo
cd ~/foo
git clone `[`ssh://[email protected]/glusterfs.git`](ssh://[email protected]/glusterfs.git)
(this will ask if the new host fingerprint should be added. Choose yes)
cd ..
rm -rf ~/foo
exit
yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum -y --enablerepo=rpmforge-extras update git
git clone git://forge.gluster.org/gluster-patch-acceptance-tests/gluster-patch-acceptance-tests.git /opt/qa
For the 1GB Rackspace VM's use this:
echo '/backingstore /d xfs loop 0 2' >> /etc/fstab
mount /d
For the 2GB and above Rackspace VM's use this:
echo '/dev/xvde /d xfs defaults 0 2' >> /etc/fstab
mount /d
JDIRS="/var/log/glusterfs /var/lib/glusterd /var/run/gluster /d /d/archived_builds /d/backends /d/build /d/logs /home/jenkins/root"
mkdir -p $JDIRS
chown jenkins:jenkins $JDIRS
chmod 755 $JDIRS
ln -s /d/build /build
ADIRS="/archives/archived_builds /archives/logs"
mkdir -p $ADIRS
chown jenkins:jenkins $ADIRS
chmod 755 $ADIRS
For making logs available over http
yum -y install http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum -y install nginx
lokkit -s http
cp -f /opt/qa/nginx/default.conf /etc/nginx/conf.d/default.conf
sed -i 's/# %wheel\tALL=(ALL)\tNOPASSWD/%wheel\tALL=(ALL)\tNOPASSWD/' /etc/sudoers
reboot
Rackspace recently added API calls for its Cloud DNS service, so we should be able to fully automate this part as well now.