=== CI
== Problem
autoprove (Test::Continous) broken in 5.18.0 Smolder is broken on OSX in 5.12+
== Solution
Jenkins. A fork of Hudson. Mature, supports many plugins.
== OSX installation
Install from http://jenkins-ci.org/
cpanm -S Task::Jenkins
perlbrew switch export JAVA_OPTS="-Xms256m -Xmx512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled" java -jar /usr/local/opt/jenkins/libexec/jenkins.war
== Jenkins configuration
Jenkins menu | Manage Jenkins | Manage Plugins
- Git Client Plugin
- Git Plugin
- Instant Messaging Plugin
- IRC Plugin
- Growl Plugin
- Redmine Plugin
- Active Directory plugin
- Perl Plugin
- Green Balls
- Dashboard View (ruby-runtime may be added automatically)
Deactivate:
- CVS
- Svn
Jenkins menu | Manage Jenkins | Configure System
= Global properties
[x] Environment variables PERLBREW_HOME: /opt/perlbrew PERLBREW_ROOT: /opt/perlbrew
= Git plugin
Global Config user.name Value: Jenkins CI Global Config user.email Value: [email protected] # or a role account
= Growl
Global password: RingRing
= Shell
Shell executable: /bin/bash
= IRC
[x] Enable IRC Notification Hostname: as7585.integra.net Port: 6667
= Email-notification
SMTP server: resay.integra.net Default email suffix: @integratelecom.com
== Configure Jenkins Git user
https://wiki.jenkins-ci.org/display/JENKINS/Gitolite
- Create ssh-key for user jenkins.
- Copy to gitolite-admin/keydir/ as jenkins_rsa.pub
- Add jenkins_rsa to readonly users in gitolite-admin/conf/gitolite.conf
- git commit -am 'Add jenkins' && git push
== Configure Global Security
TBD
== Configure Dashboard View
On main page, click the [+] tab. Name it "" Add everything.
== Jenkins project configuration
= Source Code Management
[x] Git
Repository URL: git@git:CA-API
= Build triggers:
[x] Poll SCM Schedule: # every 20 minutes M-F H/20 * * * 1-5
= Build
Execute Shell | Add build step
source /opt/perlbrew/etc/bashrc
perlbrew use perl-5.16.2@dev
/opt/perlbrew/libs/perl-5.16.2@dev/bin/prove -r --timer --formatter=TAP::Formatter::JUnit -l t
= Add post-build action: Growl
Growl IP:
Also add passsword "RingRing" to System Preferences | Growl.
= Add post-build action: IRC Notication
- Click Advanced Channel Name: #ci Notification Strategy: change
Dealing with Java heap errors on OSX:
Submitted a pull request with sane defaults to github.