From 8ae67f730edee3435517bba4bb8b377fac744980 Mon Sep 17 00:00:00 2001 From: Gabor Pali Date: Mon, 7 Apr 2014 08:56:07 +0000 Subject: [PATCH] - Add 2014Q1 status report for Jenkins Submitted by: rodrigc --- .../news/status/report-2014-01-2014-03.xml | 158 +++++++++++++++++- 1 file changed, 157 insertions(+), 1 deletion(-) diff --git a/en_US.ISO8859-1/htdocs/news/status/report-2014-01-2014-03.xml b/en_US.ISO8859-1/htdocs/news/status/report-2014-01-2014-03.xml index f2991d42f3..fa4a5f21a4 100644 --- a/en_US.ISO8859-1/htdocs/news/status/report-2014-01-2014-03.xml +++ b/en_US.ISO8859-1/htdocs/news/status/report-2014-01-2014-03.xml @@ -18,7 +18,7 @@

Thanks to all the reporters for the excellent work! This report - contains 19 entries and we hope you enjoy reading it.

+ contains 20 entries and we hope you enjoy reading it.

The deadline for submissions covering between April and June 2014 is July 7th, 2014.

@@ -30,6 +30,12 @@ &os; Team Reports + + proj + + Projects + + kern @@ -1092,4 +1098,154 @@ Write SD, SATA drivers. + + + Jenkins Continuous Integration for &os; + + + + + Craig + Rodrigues + + rodrigc@FreeBSD.org + + + + Jenkins Administrators + jenkins-admin@FreeBSD.org + + + + &os; Testing + freebsd-testing@FreeBSD.org + + + + + Jenkins CI server in &os; cluster + Jenkins on &os; project status + Video and slides of March 13, 2014 presentation at Bay Area &os; User Group (BAFUG) + Jenkins, libvirt, and bhyve + Jenkins Continuous Integration + Ansible + + + +

Jenkins is a framework that is used by many companies and open + source projects for Continuous Integration (CI). CI allows + developers to commit code to a Source Code Management (SCM) + system such as Subversion, and then have automated programs + check out, build, and test the code. Jenkins is implemented in + the Java language.

+ +

&a.emaste; reviewed some CI work that &a.rodrigc; had done for + the FreeNAS project with Jenkins, and encouraged him to set up + something similar for the &os; Project. With the help of the + &os; Cluster Administration Team, He set up a &os; machine + running two bhyve virtual machines, + jenkins-9.FreeBSD.org and + jenkins-10.FreeBSD.org. He set up software builds of + head and several stable branches on these + machines. The status of these builds is visible via a web + interface which is accessible via jenkins.FreeBSD.org. + When any of these builds fail, emails are sent to + freebsd-current or freebsd-stable. Emails are + also sent directly to the list of people who recently committed + code to Subversion since the last successful build.

+ +

As part of the Jenkins setup, &a.rodrigc; encountered problems + with running Java &os; 9.2 and &os; 10.0. Both problems + stemmed from changes to the &os; Virtual Memory (VM) subsystem. + On &os; 9.2-RELEASE, running Jenkins under Java would cause the + kernel to panic. This was a known problem, and fixed in + 9.2.-RELEASE-p3. On &os; 10.0-RELEASE, Java processes would + randomly crash. Disabling the vm.pmap.pcid_enabled + sysctl(3) variable seemed to fix the problem. In + kern/187238, Henrik Gulbrandsen submitted fixes to the + &os; VM to address this problem. &a.kib; committed these fixes + to head. These fixes are being tested now.

+ +

During the setup of the bhyve VM's which run Jenkins processes, + &a.rodrigc; wrote scripts to start bhyve VM's from the + rc.d bootup scripts, which were then published at + GitHub.

+ +

On February 19, 2014, &a.rodrigc; notified the &os; developers + that Jenkins was running in the &os; cluster, and that they + could look at the web interface to see the status of builds.

+ +

On March 13, 2014, &a.rodrigc; gave a presentation of the + Jenkins work at the Bay Area &os; User Group (BAFUG) in Mountain + View, California, USA. Video of the presentation was recorded + and put online by iXsystems.

+ +

&a.rodrigc; assembled a team of volunteers, + jenkins-admin, to help maintain + jenkins.FreeBSD.org and expand the use of Jenkins CI + used in the &os; cluster. jenkins-admin consists of + the following people working in the following areas:

+ +
    +
  • R. Tyler Croy is both a &os; developer and a Jenkins + developer. He will be working on fixing bugs in Jenkins + specific to &os;. He is first looking at fixing the libpam4j + library which is used by Jenkins to interface with the PAM + system for user authentication. The released version of + libpam4j does not currently work on &os;.
  • + +
  • &a.lwhsu; maintains the devel/jenkins port. He set + up a Jenkins build which rans the scan-build static analyzer + which is part of LLVM.
  • + +
  • &a.skreuzer; has experience administering Jenkins systems. + He set up several builds on jenkins.FreeBSD.org, + including a Jenkins build of the &os; documentation. He is + looking into automatic provisioning of VM's running Jenkins in + the &os; cluster using Ansible.
  • + +
  • &a.rodrigc; will be running a Continuous Testing working + group at the &os; Devsummit in Ottawa on May 15, 2014. + He will also give a Jenkins presentation on May 17, 2014. + He is interested in working with &a.jmmv; to + integrate Jenkins and Kyua. They have exchanged + some emails about this on the freebsd-testing list.
  • + +
  • &a.swills; maintains the devel/jenkins-lts port. + He has implemented several builds at jenkins.FreeBSD.org + which detect commits to the &os; ports repository, and then + builds the ports tree using Poudrière.
  • +
+ +

At the end of March, &a.novel; reported to + jenkins-admin that he has successfully run the Jenkins + libvirt plugin with his libvirt modifications to integrate with + bhyve. He provided a link to a blog posting where he described + his experience.

+ + + iXsystems, Inc + + + Obtain certificates for LDAP and web servers, to replace + self-signed certificates. + + Set up more Jenkins builds of the &os; base repository on + different branches and with different configurations. + + Set up more Jenkins builds of the &os; ports repository on + different &os; versions. + + Integrate with Kyua, so that Jenkins can run Kyua tests, and + report the results directly in the native Jenkins web UI where + test results are reported. + + Write scripts which can take a Jenkins build of &os;, and + boot the results in a bhyve VM or on real hardware. + + Fix libpam4j on &os;. + Continuous Testing working group at Devsummit on May 15, 2014 + Jenkins presentation at BSDCan on May 17, 2014 + +