Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ===== Jenkins ===== * [[https://jenkins.io/|Jenkins]] is a tool used for Continuous Integration (CI) and testing ===== Contact information ===== * For issues with the https://ci.freebsd.org setup with the %%FreeBSD%% cluster, contact: jenkins-admin@%%FreeBSD%%.org * For all other issues, send e-mail to: freebsd-testing@%%FreeBSD%%.org * IRC: EFNet/#freebsd-ci ===== Examples of who uses Jenkins ===== * [[https://www.freebsd.org|FreeBSD]]: https://ci.freebsd.org * [[https://www.freenas.org|FreeNAS]]: https://www.ixsystems.com/blog/jenkins-bhyve-and-webdriver-continuous-integration-testing-on-freenas/ * [[https://www.apache.org/|Apache Software Foundation]]: https://ci.apache.org/#jenkins * [[https://debian.org|Debian]]: https://jenkins.debian.net/ , https://lists.debian.org/debian-devel-announce/2013/08/msg00005.html * [[https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=58001258|many other projects and companies]] ===== Presentations and Working Groups ===== * [[https://www.meetup.com/BAFUG-Bay-Area-FreeBSD-User-Group/events/167325932/|BAFUG Presentation: Jenkins in FreeBSD Cluster]], March 13, 2014. **SLIDES:** {{jenkins/jenkins_bhyve.pdf?linkonly|PDF}} {{jenkins/jenkins_bhyve.odp?linkonly|OpenOffice}} [[https://www.slideshare.net/iXsystems/jenkins-bhyve-freebsd|Slideshare]] **VIDEO:** [[https://www.ixsystems.com/blog/jenkins-and-bhyve-continuous-integration-for-freebsd-by-craig-rodrigues/|Video]] * [[DevSummit/201405/Jenkins|FreeBSD Devsummit Working group: Continuous Testing]], May 15, 2014 * Notes: https://gist.github.com/anonymous/55dd39bc15dfdf077969 * [[https://www.bsdcan.org/2014/schedule/events/445.en.html|BSDCan Presentation: Jenkins, BHyve, and WebDriver: Continuous Integration Testing on FreeNAS]], May 17, 2014 * [[https://www.youtube.com/watch?v=Bwo86zE7LCg|BSDNow.tv interview on Jenkins and Kyua]], June 2014 * [[https://www.slideshare.net/CraigRodrigues1/kyua-jenkins|Kyua and Jenkins: Testing Framework for BSD]] ===== Jenkins for FreeBSD status ===== | | **Item** | **Responsible** | **Status** | **Note** | | 1 | Request machine from clusteradm | [[CraigRodrigues]] | COMPLETED | https://admbugs.freebsd.org/show_bug.cgi?id=428 | | 2 | Deploy https://jenkins.freebsd.org | [[CraigRodrigues]] | COMPLETED | | | 3 | Get [[StevenKreuzer]] access to jenkins host | [[https://www.freebsd.org/administration/#t-clusteradm|clusteradm]] | COMPLETED | | | 4 | Get [[LiWenHsu]] access to jenkins host | [[https://www.freebsd.org/administration/#t-clusteradm|clusteradm]] | COMPLETED | | | 5 | Get [[SteveWills]] access to jenkins host | [[https://www.freebsd.org/administration/#t-clusteradm|clusteradm]] | COMPLETED | | | 6 | Create jenkins-admin@%%FreeBSD%%.org alias | [[https://www.freebsd.org/administration/#t-postmaster|postmaster]] | COMPLETED | Alias will be used to coordinate Jenkins administration activities. Members include: [[CraigRodrigues]], [[StevenKreuzer]], [[SteveWills]], [[RTylerCroy]], [[LiWenHsu]] | | 7 | Create scripts for starting Jenkins bhyve VM | [[CraigRodrigues]] | COMPLETED | Scripts written by [[CraigRodrigues]] and used on jenkins host, see: https://lists.freebsd.org/pipermail/freebsd-virtualization/2014-January/002040.html | | 8 | Create bhyve VM for %%FreeBSD%% 10 for Jenkins | [[CraigRodrigues]] | COMPLETED | | | 9 | Create bhyve VM for %%FreeBSD%% 9 for Jenkins | [[CraigRodrigues]] | COMPLETED | | | 10 | Investigate java crashing on %%FreeBSD%% 10 | | COMPLETED | * Some discussion on [[Java|freebsd-java@]], see https://lists.freebsd.org/pipermail/freebsd-java/2014-February/010536.html \\ * Initial workaround seems to work, setting **vm.pmap.pcid_enabled="0"**: https://lists.freebsd.org/pipermail/freebsd-java/2014-February/010586.html \\ * vm.pmap.pcid_enabled="0" disabled by EdMaste, pending further investigration: https://lists.freebsd.org/pipermail/svn-src-all/2014-March/081647.html \\ Addressed with errata fix in 10.0-p6: https://www.freebsd.org/security/advisories/FreeBSD-EN-14%3A07.pmap.asc | | 11 | Investigate Jenkins crashing kernel on %%FreeBSD%% 9.2 | [[CraigRodrigues]] | COMPLETED | Due to a kernel mmap() bug in %%FreeBSD%% 9.2, the kernel will panic in certain cases if Java runs. This problem is solved by upgrading to %%FreeBSD%% 9.2-p3: as per this security advisory: [[https://www.freebsd.org/security/advisories/FreeBSD-EN-14:02.mmap.asc|FreeBSD-EN-14:02.nmap.asc]] | | 12 | Create FreeBSD_HEAD build | [[CraigRodrigues]] | COMPLETED | | 13 | Create FreeBSD_STABLE-10 build | [[CraigRodrigues]] | COMPLETED | | 14 | Create FreeBSD_STABLE-9 build | [[StevenKreuzer]] | COMPLETED | | 15 | Create FreeBSD_STABLE-8 build | [[StevenKreuzer]] | COMPLETED | | 16 | Create FreeBSD_DOC build | [[StevenKreuzer]] | COMPLETED | | 17 | Test libpam4j fixes for %%FreeBSD%% | [[CraigRodrigues]] | COMPLETED | * See: https://issues.jenkins.io/browse/JENKINS-21507 \\ * Patch supplied by JungukKim https://people.freebsd.org/~jkim/jna.diff \\ * Pull request with patch filed by Anthony Williams: https://github.com/jenkinsci/jna/pull/2 \\ * Fixed in Jenkins 1.586 here: https://issues.jenkins-ci.org/browse/JENKINS-24521 | | 18 | Submit proposal for Jenkins working group at BSD Devsummit | [[CraigRodrigues]] | COMPLETED | Proposal has been accepted. See: [[DevSummit/201405/Jenkins]] | | 19 | System Security Review | [[XinLi]] | COMPLETED | | 20 | Obtain proper SSL certificate for jenkins.freebsd.org | | COMPLETED | * https://admbugs.freebsd.org/show_bug.cgi?id=472 | | 21 | Integrate Jenkins with Kyua | JulioMerino | COMPLETED | * Initiate discussion about generating Kyua test output in JUnit XML: https://lists.freebsd.org/pipermail/freebsd-testing/2014-February/000199.html \\ * Plan proposed: https://lists.freebsd.org/pipermail/freebsd-testing/2014-March/000221.html \\ * [[https://github.com/jmmv/kyua/commit/ebc43a246aad10057aaa6bd6e6dfe799790d75a0|'kyua report-junit']] command added to create JUnit XML output from kyua | | 22 | Integrate Jenkins with Clang scan-build | [[LiWenHsu]] | COMPLETED | scripts Repository: https://github.com/freebsd/freebsd-ci/tree/master/jobs/FreeBSD-main-scan_build \\ Results are at https://ci.freebsd.org/job/FreeBSD-main-scan_build/lastCompletedBuild/clangScanBuildBugs/ (update daily) | | 23 | Setup documents | | In progress | [[#Setup_notes]] | | 24 | Configure Jenkins LDAP authentication | [[CraigRodrigues]] / clusteradm | COMPLETED | * LDAP plugin configured to connect to %%FreeBSD%% cluster LDAP server. \\ * clusteradm help was requested to fix one of the certificate problems with the LDAP server. \\ * Without this fix, LDAP authentication is not working. \\ * Completed, see: [[Jenkins/LDAP]] | | 25 | kernel module job | [[LiWenHsu]] | COMPLETED | config: https://github.com/lwhsu/freebsd-ci/blob/master/FreeBSD-CURRENT-modules_config.xml | | 26 | Setup scan.%%FreeBSD%%.org VM | [[LiWenHsu]] | In Progress | scan-ci.%%FreeBSD%%.org is up, need some further configs https://admbugs.freebsd.org/show_bug.cgi?id=496 (suppressed by ci.freebsd.org cluster) | | 27 | Integrate Jenkins with [[CoverityPrevent|Coverity]] | [[LiWenHsu]], uqs | | | | 28 | Integrate with [[http://www.wonkity.com/~wblock/igor/|igor]] and checkstyle for handbook | [[LiWenHsu]], [[WarrenBlock|WarrenBlock]] | COMPLETED | https://jenkins.freebsd.org/jenkins/view/FreeBSD_doc/job/FreeBSD_Doc-igor/ | [[Jenkins/TODO|TODO]] [[https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=New&bug_status=Open&bug_status=In%20Progress&bug_status=UNCONFIRMED&component=Testing%20%26%20CI&list_id=71279&product=Services&query_format=advanced|Tickets on bugs.FreeBSD.org]] ===== Jenkins for FreeBSD architecture ===== * [[Jenkins/Architecture]] ===== Setup notes ===== * [[Jenkins/Setup|Setup Notes]] * [[Jenkins/VMSetup|Setup of VM's used in Jenkins cluster]] * [[Jenkins/MachineList|Machine list of Jenkins cluster]] * [[Jenkins/LDAP|LDAP authentication setup in Jenkins cluster]] ===== Repositories ===== * https://github.com/freebsd/freebsd-ci , scripts used for booting VM's and running builds in jenkins.freebsd.org cluster ===== Brainstorming and future ideas ===== ==== Build slave ==== * Type 1 VM for other architecture such as arm, mips, sparc * build in virtualbox is working, it's ok for i386 and amd64 * other arch may need qemu * Type 2 VM for speed * build in bhyve is working ==== Build artifacts & Further tests ==== * Build auto-install image * done with pc-sysinstall, * Build auto-install job with unmodified release media * like what we provided on freebsd-snapshots@ * scripted installation * scripted installation from vm-script (pre-setup keyboard/mouse combination) * With above 2, run regression tests, performance tests * Tests in [[ReleaseEngineering/testing]] * Scan builds * [[CoverityPrevent|Coverity]] * [[https://scan.freebsd.org|Clang scan-build]], DONE * Draw graphs to tracking changes * Integrate with [[https://github.com/jmmv/kyua|Kyua]] testing framework, [[https://lists.freebsd.org/pipermail/freebsd-current/2014-October/052618.html|DONE]] ==== Interaction with more developers and users ==== * Project branches jobs * Co-work with freebsd-git project * automatically test pull-requests * External build-slaves * CI for https://github.com/freebsd/pkg * Look at http://jenkins.mouf.net/ maintained by [[SteveWills]] as an example. ==== FreeBSD.org Jenkins cluster ==== * [[Jenkins/MachineList]] ==== Maintenance ==== * General: [[Jenkins/Maintenance]] * Backup: [[Jenkins/Backup]] ==== Plugins we use ==== | https://wiki.jenkins-ci.org/display/JENKINS/Embeddable+Build+Status+Plugin | [**Installed Feb. 21, 2014**] | | https://wiki.jenkins-ci.org/display/JENKINS/Green+Balls | [**Installed Feb. 21, 2014**] | | https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin | [**Installed Feb. 21, 2014**] | | https://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin | [**Installed Mar. 6, 2014**] | | https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin | [**Installed Mar. 15, 2014**] | | https://wiki.jenkins-ci.org/display/JENKINS/JobConfigHistory+Plugin | [**Installed Apr. 2, 2014**] | | http://wiki.hudson-ci.org/display/HUDSON/Matrix+Tie+Parent+Plugin | [**Installed Apr. 4, 2014**] | | https://wiki.jenkins-ci.org/display/JENKINS/IRC+Plugin | [**Installed Apr. 16, 2014**] | | https://wiki.jenkins-ci.org/display/JENKINS/Next+Build+Number+Plugin | [**Installed Jul. 2, 2014**] | | https://wiki.jenkins-ci.org/display/JENKINS/SCM+Sync+configuration+plugin | [**Installed Sep. 9, 2014**] | | https://wiki.jenkins-ci.org/display/JENKINS/Checkstyle+Plugin | [**Installed Oct. 24, 2014**] | ==== Performance Testing ==== * [[Jenkins/PerfTesting|Performance Testing]] ===== References ===== * https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+behind+an+NGinX+reverse+proxy * [[JenkinsOnFreeBSD]] ---- {{tag>Project Team Services}} jenkins.txt Last modified: 2021/04/25 09:01by JethroNederhof