User:Ncopa/buildmsg: Difference between revisions

From Alpine Linux
(Created page with "Notes on how to set up buildserver using buildmsg <pre> build-edge:~$ cat /etc/buildmsg/subscribe.lua publisher='tcp://git.alpinelinux.org:55556' subscriber_command='/etc/bu...")
 
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
Notes on how to set up buildserver using buildmsg
Note how to set up a new build server using buildmsg


== vreating new vserver ==
<pre>
<pre>
build-edge:~$ cat /etc/buildmsg/subscribe.lua
build:~# setup-vs-guest
publisher='tcp://git.alpinelinux.org:55556'
Hostname for new vserver: build-2-6
subscriber_command='/etc/buildmsg/buildmsg-script'
Available network interfaces are: lo eth2 eth3 bond0 dummy0.
subscriber_filter='build master'
Which one to use for build-2-6? (or 'done') [dummy0]
Enter IP address/mask for dummy0: [192.168.8.99/24] 192.168.8.26/24
Available network interfaces are: lo eth2 eth3 bond0.
Which one to use for build-2-6? (or 'done') [done]
Enter context id for build-2-6: [10026]
Enter guest machine architecture (i686 or x86_64): [x86_64] i686
Enter template file (or empty for generate a new):  
Generating template...
</pre>
 
cp /etc/vservers/build-2-5/fstab /etc/vservers/build-2-6/
mkdir /vservers/build-2-6/var/cache/distfiles
 
echo "~single_ip" >> /etc/vservers/build-2-6/nflags
cp -a /vservers/build-2-5/root/.ssh/ /vservers/build-2-6/root/
 
=== firewall DNAT ===
iptables -t nat -A PREROUTING -d 91.220.88.36/32 -p tcp -m tcp --dport 22026 -j DNAT --to-destination 192.168.8.26:22
/etc/init.d/iptables save
lbu ci
 
vserver build-2-6 start
 
== installing and setting up ssh ==
vserver build-2-6 enter
 
echo http://nl.alpinelinux.org/alpine/edge/main > /etc/apk/repositories
 
apk add -U openssh alpine-sdk rsync lua-posix lua-zmq
 
sed -i -e 's/\#ListenAddress 0.0.0.0/ListenAddress 192.168.8.26/' /etc/ssh/sshd_config
sed -i -e 's/\#UseDNS.*/UseDNS no/' /etc/ssh/sshd_config
rc-update add sshd
/etc/init.d/sshd restart
 
== prepare buildozer user ==
adduser buildozer
addgroup buildozer wheel ; addgroup buildozer abuild
 
visudo
 
# Same thing without a password
%wheel  ALL=(ALL) NOPASSWD: ALL
 
=== logout from vserver enter ===
cp -a /vservers/build-2-5/home/buildozer/.abuild \
  /vservers/build-2-5/home/buildozer/.ssh \
  /vservers/build-2-6/home/buildozer/
 
 
 
# log in via ssh from desktop
ssh -p buildozer@dev.alpinelinux.org
 
sudo chown -R buildozer:buildozer .abuild/ .ssh/
 
=== verify ssh out ===
vi .ssh/config
Host nl.alpinelinux.org
Port 22014
 
# test ssh. needed for upload
ssh nl.alpinelinux.org
exit
 
== set up abuild ==
mkdir ~/packages
git clone git://git.alpinelinux.org/aports
git clone git://git.alpinelinux.org/alpine-iso
 
echo "2.5.0" > alpine-iso/previous
 


sudo vi /etc/abuild.conf
export JOBS=4
#USE_COLORS=1
SRCDEST=/var/cache/distfiles/v2.6
REPODEST=$HOME/packages/
PACKAGER="Buildozer <alpine-devel@lists.alpinelinux.org>"
ABUILD_LOG_CMD="buildmsg-send --server=tcp://git.alpinelinux.org:55555 log $(hostname): abuild:"


build-edge:~$ cat /etc/buildmsg/client.lua
== autobuilder/buildmsg ==
server='tcp://git.alpinelinux.org:55555'
git clone git://git.alpinelinux.org/autobuilder
cd autobuilder
make
sudo make install


sudo vi /etc/autobuilder.conf


build-edge:~$ cat /etc/conf.d/buildmsg-subscribe  
git_branch=master
buildmsg_user="buildozer"
upload_release=v2.6
buildmsg_group="buildozer"
 
</pre>
sudo vi /etc/buildmsg/subscribe.lua
 
publisher='tcp://dev.alpinelinux.org:55556'
subscriber_command='/etc/buildmsg/buildmsg-script'
subscriber_filter='build master'
 
sudo vi /etc/buildmsg/client.lua
 
server='tcp://dev.alpinelinux.org:55555'
 
sudo vi /etc/conf.d/buildmsg-subscribe  
 
buildmsg_user="buildozer"
buildmsg_group="buildozer"
 
sudo /etc/init.d/buildmsg-subscribe start
sudo rc-update add buildmsg-subscribe

Latest revision as of 12:35, 24 April 2013

Note how to set up a new build server using buildmsg

vreating new vserver

build:~# setup-vs-guest
Hostname for new vserver: build-2-6
Available network interfaces are: lo eth2 eth3 bond0 dummy0.
Which one to use for build-2-6? (or 'done') [dummy0] 
Enter IP address/mask for dummy0: [192.168.8.99/24] 192.168.8.26/24
Available network interfaces are: lo eth2 eth3 bond0.
Which one to use for build-2-6? (or 'done') [done] 
Enter context id for build-2-6: [10026] 
Enter guest machine architecture (i686 or x86_64): [x86_64] i686
Enter template file (or empty for generate a new): 
Generating template...
cp /etc/vservers/build-2-5/fstab /etc/vservers/build-2-6/
mkdir /vservers/build-2-6/var/cache/distfiles
echo "~single_ip" >> /etc/vservers/build-2-6/nflags
cp -a /vservers/build-2-5/root/.ssh/ /vservers/build-2-6/root/

firewall DNAT

iptables -t nat -A PREROUTING -d 91.220.88.36/32 -p tcp -m tcp --dport 22026 -j DNAT --to-destination 192.168.8.26:22
/etc/init.d/iptables save
lbu ci
vserver build-2-6 start

installing and setting up ssh

vserver build-2-6 enter
echo http://nl.alpinelinux.org/alpine/edge/main > /etc/apk/repositories
apk add -U openssh alpine-sdk rsync lua-posix lua-zmq
sed -i -e 's/\#ListenAddress 0.0.0.0/ListenAddress 192.168.8.26/' /etc/ssh/sshd_config
sed -i -e 's/\#UseDNS.*/UseDNS no/' /etc/ssh/sshd_config
rc-update add sshd
/etc/init.d/sshd restart

prepare buildozer user

adduser buildozer
addgroup buildozer wheel ; addgroup buildozer abuild
visudo
# Same thing without a password
%wheel  ALL=(ALL) NOPASSWD: ALL

logout from vserver enter

cp -a /vservers/build-2-5/home/buildozer/.abuild \
 /vservers/build-2-5/home/buildozer/.ssh \ 
 /vservers/build-2-6/home/buildozer/


# log in via ssh from desktop
ssh -p buildozer@dev.alpinelinux.org
sudo chown -R buildozer:buildozer .abuild/ .ssh/

verify ssh out

vi .ssh/config

Host nl.alpinelinux.org

Port 22014

# test ssh. needed for upload
ssh nl.alpinelinux.org
exit

set up abuild

mkdir ~/packages
git clone git://git.alpinelinux.org/aports
git clone git://git.alpinelinux.org/alpine-iso
echo "2.5.0" > alpine-iso/previous


sudo vi /etc/abuild.conf

export JOBS=4
#USE_COLORS=1
SRCDEST=/var/cache/distfiles/v2.6
REPODEST=$HOME/packages/
PACKAGER="Buildozer <alpine-devel@lists.alpinelinux.org>"
ABUILD_LOG_CMD="buildmsg-send --server=tcp://git.alpinelinux.org:55555 log $(hostname): abuild:"

autobuilder/buildmsg

git clone git://git.alpinelinux.org/autobuilder
cd autobuilder
make
sudo make install
sudo vi /etc/autobuilder.conf
git_branch=master
upload_release=v2.6
sudo vi /etc/buildmsg/subscribe.lua 
publisher='tcp://dev.alpinelinux.org:55556'
subscriber_command='/etc/buildmsg/buildmsg-script'
subscriber_filter='build master'
sudo vi /etc/buildmsg/client.lua 
server='tcp://dev.alpinelinux.org:55555'
sudo vi /etc/conf.d/buildmsg-subscribe 
buildmsg_user="buildozer"
buildmsg_group="buildozer"
sudo /etc/init.d/buildmsg-subscribe start
sudo rc-update add buildmsg-subscribe