- Add 2014Q1 status report for Jenkins
Submitted by: rodrigc
This commit is contained in:
parent
771d94b499
commit
8ae67f730e
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44461
1 changed files with 157 additions and 1 deletions
|
@ -18,7 +18,7 @@
|
|||
|
||||
<!-- XXX: Keep the number of entries updated -->
|
||||
<p>Thanks to all the reporters for the excellent work! This report
|
||||
contains 19 entries and we hope you enjoy reading it.</p>
|
||||
contains 20 entries and we hope you enjoy reading it.</p>
|
||||
|
||||
<p>The deadline for submissions covering between April and
|
||||
June 2014 is July 7th, 2014.</p>
|
||||
|
@ -30,6 +30,12 @@
|
|||
<description>&os; Team Reports</description>
|
||||
</category>
|
||||
|
||||
<category>
|
||||
<name>proj</name>
|
||||
|
||||
<description>Projects</description>
|
||||
</category>
|
||||
|
||||
<category>
|
||||
<name>kern</name>
|
||||
|
||||
|
@ -1092,4 +1098,154 @@
|
|||
<task>Write SD, SATA drivers.</task>
|
||||
</help>
|
||||
</project>
|
||||
|
||||
<project cat='proj'>
|
||||
<title>Jenkins Continuous Integration for &os;</title>
|
||||
|
||||
<contact>
|
||||
<person>
|
||||
<name>
|
||||
<given>Craig</given>
|
||||
<common>Rodrigues</common>
|
||||
</name>
|
||||
<email>rodrigc@FreeBSD.org</email>
|
||||
</person>
|
||||
|
||||
<person>
|
||||
<name>Jenkins Administrators</name>
|
||||
<email>jenkins-admin@FreeBSD.org</email>
|
||||
</person>
|
||||
|
||||
<person>
|
||||
<name>&os; Testing</name>
|
||||
<email>freebsd-testing@FreeBSD.org</email>
|
||||
</person>
|
||||
</contact>
|
||||
|
||||
<links>
|
||||
<url href="https://jenkins.FreeBSD.org">Jenkins CI server in &os; cluster</url>
|
||||
<url href="https://wiki.freebsd.org/Jenkins#Jenkins_for_FreeBSD_status">Jenkins on &os; project status</url>
|
||||
<url href="https://wiki.freebsd.org/Jenkins#Presentations_and_Working_Groups">Video and slides of March 13, 2014 presentation at Bay Area &os; User Group (BAFUG)</url>
|
||||
<url href="http://empt1e.blogspot.ru/2014/03/using-jenkins-libvirt-slave-plugin-with.html">Jenkins, libvirt, and bhyve</url>
|
||||
<url href="http://jenkins-ci.org">Jenkins Continuous Integration</url>
|
||||
<url href="http://www.ansible.com">Ansible</url>
|
||||
</links>
|
||||
|
||||
<body>
|
||||
<p>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.</p>
|
||||
|
||||
<p>&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,
|
||||
<tt>jenkins-9.FreeBSD.org</tt> and
|
||||
<tt>jenkins-10.FreeBSD.org</tt>. He set up software builds of
|
||||
<tt>head</tt> and several <tt>stable</tt> branches on these
|
||||
machines. The status of these builds is visible via a web
|
||||
interface which is accessible via <tt>jenkins.FreeBSD.org</tt>.
|
||||
When any of these builds fail, emails are sent to
|
||||
<tt>freebsd-current</tt> or <tt>freebsd-stable</tt>. Emails are
|
||||
also sent directly to the list of people who recently committed
|
||||
code to Subversion since the last successful build.</p>
|
||||
|
||||
<p>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 <tt>vm.pmap.pcid_enabled</tt>
|
||||
<tt>sysctl(3)</tt> variable seemed to fix the problem. In
|
||||
<tt>kern/187238</tt>, Henrik Gulbrandsen submitted fixes to the
|
||||
&os; VM to address this problem. &a.kib; committed these fixes
|
||||
to <tt>head</tt>. These fixes are being tested now.</p>
|
||||
|
||||
<p>During the setup of the bhyve VM's which run Jenkins processes,
|
||||
&a.rodrigc; wrote scripts to start bhyve VM's from the
|
||||
<tt>rc.d</tt> bootup scripts, which were then published at
|
||||
GitHub.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>&a.rodrigc; assembled a team of volunteers,
|
||||
<tt>jenkins-admin</tt>, to help maintain
|
||||
<tt>jenkins.FreeBSD.org</tt> and expand the use of Jenkins CI
|
||||
used in the &os; cluster. <tt>jenkins-admin</tt> consists of
|
||||
the following people working in the following areas:</p>
|
||||
|
||||
<ul>
|
||||
<li>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;.</li>
|
||||
|
||||
<li>&a.lwhsu; maintains the <tt>devel/jenkins</tt> port. He set
|
||||
up a Jenkins build which rans the scan-build static analyzer
|
||||
which is part of LLVM.</li>
|
||||
|
||||
<li>&a.skreuzer; has experience administering Jenkins systems.
|
||||
He set up several builds on <tt>jenkins.FreeBSD.org</tt>,
|
||||
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.</li>
|
||||
|
||||
<li>&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 <tt>freebsd-testing</tt> list.</li>
|
||||
|
||||
<li>&a.swills; maintains the <tt>devel/jenkins-lts</tt> port.
|
||||
He has implemented several builds at <tt>jenkins.FreeBSD.org</tt>
|
||||
which detect commits to the &os; ports repository, and then
|
||||
builds the ports tree using Poudrière.</li>
|
||||
</ul>
|
||||
|
||||
<p>At the end of March, &a.novel; reported to
|
||||
<tt>jenkins-admin</tt> 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.</p>
|
||||
</body>
|
||||
|
||||
<sponsor>iXsystems, Inc</sponsor>
|
||||
|
||||
<help>
|
||||
<task>Obtain certificates for LDAP and web servers, to replace
|
||||
self-signed certificates.</task>
|
||||
|
||||
<task>Set up more Jenkins builds of the &os; base repository on
|
||||
different branches and with different configurations.</task>
|
||||
|
||||
<task>Set up more Jenkins builds of the &os; ports repository on
|
||||
different &os; versions.</task>
|
||||
|
||||
<task>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.</task>
|
||||
|
||||
<task>Write scripts which can take a Jenkins build of &os;, and
|
||||
boot the results in a bhyve VM or on real hardware.</task>
|
||||
|
||||
<task>Fix libpam4j on &os;.</task>
|
||||
<task>Continuous Testing working group at Devsummit on May 15, 2014</task>
|
||||
<task>Jenkins presentation at BSDCan on May 17, 2014</task>
|
||||
</help>
|
||||
</project>
|
||||
</report>
|
||||
|
|
Loading…
Reference in a new issue