(→Connection parameters) |
(→Setting up Hudson) |
||
| Line 89: | Line 89: | ||
<nowiki>http://localhost:8080</nowiki> | <nowiki>http://localhost:8080</nowiki> | ||
| - | + | Install needed plugins to Hudson: | |
* GIT | * GIT | ||
| - | * Meego Fast Feedback Testing | + | * Meego Fast Feedback Testing (feedback.hpi can be downloaded [http://meego.gitorious.org/meego-quality-assurance/meego-testing-hudson-plugin/blobs/master/hudson/binaries/latest/feedback.hpi) here] and uploaded by Hudson Plugin Manager). |
| - | + | ||
Create new job, choose free-style software project and configure: | Create new job, choose free-style software project and configure: | ||
Contents |
MeeGo Fast Feedback Testing (MeeGo-FFT) intends for getting results of source code changing before it is submitted to be built on OBS or to be tested on target HW (e.g. Handset) on OTS.
MeeGo-FFT represents a specific fast reactions on changes in source code manager (e.g. GIT). Fast in this context refers to 2-10 minutes delay. After source code is committed or/and tagged, such actions can be performed:
Commits and tags are different source code manager (SCM) states for MeeGo-FFT. It allows to execute different sets of actions with various parameters depending on new commit or new tag. For example, it's possible to build for Intel architecture when new commit appears and for ARM when sources are tagged. For more details see further information about execute condition.
MeeGo Fast Feedback Testing is realized as Hudson plugin, therefore Hudson is needed to be installed on developer workstation as well as QEMU, OSC and Testrunner-lite.
Below is placed instructions about Fast Feedback Testing environment setup for Ubuntu 10.04 and user manual for MeeGo-FFT Hudson plugin.
~$ deb http://repo.meego.com/MeeGo/tools/repos/ubuntu/10.04/ /
Install needed keys:
~$ gpg --keyserver subkeys.pgp.net --recv 0BC7BEC479FC1F8A ~$ gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add -
Update repository information:
~$ sudo apt-get update
Run following command:
~$ sudo apt-get install osc meego-osc-plugins build qemu-arm-static
OSC is used for local and remote building by means of MeeGo OBS server using packages from specified OBS repository. So it's needed to create empty package in OBS home project.
After that checkout home project somewhere before using Hudson and choose “trust the server certificate permanently”:
~$ osc co home:<osc_username>
Then edit the ~/.oscrc file:
~$ gedit ~/.oscrc
and do these changes:
su-wrapper = sudo
user = <your_osc_username> pass = <your_osc_password>
trusted_prj=Trunk:Testing
Append the following to the end of the sudoers config file (/etc/sudoers):
<your_username> ALL=NOPASSWD: /usr/bin/build
Remember to edit sudoers with root rights.
~$ wget -O /tmp/key http://hudson-ci.org/debian/hudson-ci.org.key ~$ sudo apt-key add /tmp/key ~$ wget -O /tmp/hudson.deb http://hudson-ci.org/latest/debian/hudson.deb ~$ sudo dpkg --install /tmp/hudson.deb
If hudson didn't installed because not all depended packages are installed you can use next commannd for resolve dependences.
~$ sudo apt-get -f install
Stop the hudson server:
~$ sudo /etc/init.d/hudson stop
Change user for hudson:
~$ gedit /etc/default/hudson change line: HUDSON_USER=<your_user_name>
Give access rights of hudson home directory to user. It can be done in two ways:
~$ sudo chown <your_user_name> /var/lib/hudson/ -R
or
~$ gedit /etc/default/hudson change line: HUDSON_HOME=/home/<your_user_name>/hudson
Start the hudson server:
~$ sudo /etc/init.d/hudson start
Open Hudson in browser:
http://localhost:8080
Install needed plugins to Hudson:
Create new job, choose free-style software project and configure:
This plugin is made in the form of Hudson build step. It's possible to add several instances of Meego FFT. Description of plugin parameters can be found below.
This condition defines the case when current MeeGo-FFT step is executed. If execute condition isn't matched, this MeeGo-FFT step does nothing. There are three possible conditions:
It's possible to add several MeeGo-FFT steps with different execute conditions and various build, deploy and test parameters.
These parameters intend for setup building on MeeGo OBS server. OBS allows to build for different architectures locally or remotely against various contents.
Setup of deploying and/or running application on device through SSH connection.
Setup of running Testrunner-lite for testing.
These parameters intend for setting up SSH connection to the remote device or local host where application will be deployed and tested.