Provisioning a build server for continuous integration, we need to install basic development packages, source code management, and an execution server called Jenkins.
Provisioning a test server, we need some new packages under development at http://shoeleather-lab.org.
Our build targets are:
- OpenEmbedded/OE-Core (Poky)
- LTIB
- Buildroot
- CrossTools
Fedora/Redhat/CentOS (yum/rpm based systems)http://pkg.jenkins-ci.org/redhat/
Build Automation
## LAMP -
http://www.howtoforge.com/quick-n-easy-lamp-server-centos-rhel
# Apache and MySql - set up with new root password.
yum -y install httpd httpd-devel mysql mysql-server mysql-devel webalizer
#
yum -y install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel
php-xml
# Edit the
/etc/httpd/conf.d/phpmyadmin.conf and allow for users behind firewall.
yum -y install phpmyadmin
# Enable the servers for reboot
chkconfig httpd on
chkconfig mysqld on
# Jenkins CI -
http://pkg.jenkins-ci.org/redhatyum -y install java-*-openjdk
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum -y install jenkins
service jenkins restart
# You should connect, and after the GET see some text that has jenkins-ci in it.
sleep 5
telnet localhost 8080
GET /
# Set up a memory caching server, can cause SELinux complaints.
# /etc/sysconfig/memcached to configure if needed.
yum -y install libmemcached memcached
yum -y install php-ZendFramework-Cache-Backend-Memcached php-pecl-memcached
yum -y install python-memcached perl-Cache-Memcached
# php-pecl-memcache
#
For those confuse about the memcached extension
and the memcache extension,
# the short story is that both of them are
clients of memcached server,
# and the memcached extension offer more
features than the memcache extension...joelhy
service memcached start
chkconfig memcached on
# Set up MySql with new root password.
service mysqld restart
telnet localhost 3306
# Probably should change newpassword?
read newpassword
/usr/bin/mysqladmin -u root password '$newpassword'
# If you don't have a dns name, use your: ip addr show
/usr/bin/mysqladmin -u root -h "`hostname`" password '$newpassword'
# You can test the MySQL daemon with mysql-test-run.pl (mysql-test)
yum -y install mysql-test
pushd /usr/share/mysql-test/mysql-test-run;popd
## Servers and Such
# Mediawiki for a front page, dashboard, etc. This will pull in a default mediawiki.
yum -y install mediawiki-wikicalendar
# Basic Build Packages
# For RedHat and CentOS, Add the current EPEL repo.
wget http:
//download.fedora.redhat.com/pub/epel/5/`uname -m`/epel-release-5-4.noarch.rpm
# or
wget http:
//download.fedora.redhat.com/pub/epel/6/`uname -m`/epel-release-6-5.noarch.rpm
rpm -Uvh epel-release-*.rpm
# Basics
for
building
yum -y groupinstall
"Development tools"
# OpenEmbedded
sudo yum install gettext-devel expat-devel curl-devel zlib-devel openssl-devel
# SystemBuilder internal developer builds
yum -y install curl git
# OE BitBake likes these.
yum -y install gcc-c++ diffstat texi2html python-devel pysqlite help2man
# OE Recommended
for
CentOS
5.4
yum -y install bison coreutils cvs docbook-utils gawk git-core python quilt rpmlib sed subversion tetex texinfo unzip wget
yum -y install m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip python-psyco perl texinfo tetex diffstat openjade
yum
-y install docbook-style-dsssl docbook-style-xsl docbook-dtds
docbook-utils sed bison bc glibc-devel binutils pcre pcre-devel
# OE recommended
for
Fedora
13
-
15
yum -y yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-
static
\
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses \
apr
# SB Miscellaneous
yum -y install redhat-lsb
# OE Miscellaneous
yum -y install fakeroot
# OE-Core
yum -y install hg
# CodeBench GDB
yum -y install ncurses-libs.i686
#
64
-bit Host
yum install glibc-devel.i686 ncurses-libs.i686
yum -y install glibc-
static
# CodeBench IDE
64
-bit Host
yum -y install gtk2-devel.i686 gtk-nodoka-engine.i686 \
libcanberra.i686 libcanberra-gtk2.i686 PackageKit-gtk-module.i686 \
GConf2.i686
# LTIB packages
for
rpm based systems.
yum -y install glibc.i686 glibc-devel.i686 sudo zlib rpm rpm-build rpm-devel ncurses ncurses-devel zlib-devel tcl glib2-devel
# Test Frameworks
yum -y install MySQL-python
Debian/Ubuntu (dpkg/deb based systems)
# Basics
for
building
apt-get install build-essentials