CINXE.COM

Continuous integration/Jenkins - MediaWiki

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Continuous integration/Jenkins - MediaWiki</title> <script>(function(){var className="client-js vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )mediawikiwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"20ee0ad0-922a-4ccd-9fdf-146f556a71ba","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Continuous_integration/Jenkins","wgTitle":"Continuous integration/Jenkins","wgCurRevisionId":6841444,"wgRevisionId":6841444,"wgArticleId":93106,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Outdated pages"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Continuous_integration/Jenkins","wgRelevantArticleId":93106,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"mediawiki","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true, "wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":10000,"wgInternalRedirectTargetUrl":"/wiki/Continuous_integration/Jenkins","wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgDiscussionToolsFeaturesEnabled":{"replytool":true,"newtopictool":true,"sourcemodetoolbar":true,"topicsubscription":false,"autotopicsub":false,"visualenhancements":false,"visualenhancements_reply":false,"visualenhancements_pageframe":false},"wgDiscussionToolsFallbackEditMode":"visual","wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q7491312","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE ={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","ext.discussionTools.init.styles":"ready","oojs-ui-core.styles":"ready","oojs-ui.styles.indicators":"ready","mediawiki.widgets.styles":"ready","oojs-ui-core.icons":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["mediawiki.action.view.redirect","ext.cite.ux-enhancements","ext.pygments.view","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.urlShortener.toolbar","ext.centralauth.centralautologin", "mmv.bootstrap","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.discussionTools.init","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","wikibase.client.vector-2022","ext.checkUser.clientHints","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.discussionTools.init.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.pt%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:site_name" content="MediaWiki"> <meta property="og:title" content="Continuous integration/Jenkins - MediaWiki"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//m.mediawiki.org/wiki/Continuous_integration/Jenkins"> <link rel="alternate" type="application/x-wiki" title="Edit" href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/mediawiki.png"> <link rel="icon" href="/static/favicon/mediawiki.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="MediaWiki (en)"> <link rel="EditURI" type="application/rsd+xml" href="//www.mediawiki.org/w/api.php?action=rsd"> <link rel="canonical" href="https://www.mediawiki.org/wiki/Continuous_integration/Jenkins"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> <link rel="alternate" type="application/atom+xml" title="MediaWiki Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="ext-discussiontools-replytool-enabled ext-discussiontools-newtopictool-enabled ext-discussiontools-sourcemodetoolbar-enabled skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Continuous_integration_Jenkins rootpage-Continuous_integration skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/MediaWiki" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-mw-download" class="mw-list-item"><a href="/wiki/Download"><span>Get MediaWiki</span></a></li><li id="n-mw-extensions" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Category:Extensions"><span>Get extensions</span></a></li><li id="n-blog-text" class="mw-list-item"><a href="https://techblog.wikimedia.org/"><span>Tech blog</span></a></li><li id="n-mw-contribute" class="mw-list-item"><a href="/wiki/Special:MyLanguage/How_to_contribute"><span>Contribute</span></a></li> </ul> </div> </div> <div id="p-support" class="vector-menu mw-portlet mw-portlet-support" > <div class="vector-menu-heading"> Support </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Help:Contents" title="The place to find out"><span>User help</span></a></li><li id="n-mw-faq" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:FAQ"><span>FAQ</span></a></li><li id="n-mw-manual" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:Contents"><span>Technical manual</span></a></li><li id="n-mw-supportdesk" class="mw-list-item"><a href="/wiki/Project:Support_desk"><span>Support desk</span></a></li><li id="n-mw-communication" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Communication"><span>Communication</span></a></li> </ul> </div> </div> <div id="p-development" class="vector-menu mw-portlet mw-portlet-development" > <div class="vector-menu-heading"> Development </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mw-developerportal" class="mw-list-item"><a href="https://developer.wikimedia.org/"><span>Developer portal</span></a></li><li id="n-svn-statistics" class="mw-list-item"><a href="/wiki/Development_statistics"><span>Code statistics</span></a></li> </ul> </div> </div> <div id="p-mediawiki.org" class="vector-menu mw-portlet mw-portlet-mediawiki_org" > <div class="vector-menu-heading"> mediawiki.org </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-portal" class="mw-list-item"><a href="/wiki/Project:Help" title="About the project, what you can do, where to find things"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-mw-translate" class="mw-list-item"><a href="/wiki/Special:LanguageStats"><span>Translate content</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Load a random page [x]" accesskey="x"><span>Random page</span></a></li><li id="n-mw-discussion" class="mw-list-item"><a href="/wiki/Project:Village_Pump"><span>Village pump</span></a></li><li id="n-Sandboxlink-portlet-label" class="mw-list-item"><a href="/wiki/Project:Sandbox"><span>Sandbox</span></a></li> </ul> </div> </div> <div id="p-lang" class="vector-menu mw-portlet mw-portlet-lang" > <div class="vector-menu-heading"> In other languages </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%AC%D9%86%D9%83%D9%8A%D9%86%D8%B2_(%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A9)" title="جنكينز (برمجية) – Arabic" lang="ar" hreflang="ar" data-title="جنكينز (برمجية)" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Jenkins" title="Jenkins – Azerbaijani" lang="az" hreflang="az" data-title="Jenkins" data-language-autonym="Azərbaycanca" data-language-local-name="Azerbaijani" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/Jenkins" title="Jenkins – Bulgarian" lang="bg" hreflang="bg" data-title="Jenkins" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Jenkins_(software)" title="Jenkins (software) – Czech" lang="cs" hreflang="cs" data-title="Jenkins (software)" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Jenkins_(Software)" title="Jenkins (Software) – German" lang="de" hreflang="de" data-title="Jenkins (Software)" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Jenkins_(software)" title="Jenkins (software) – English" lang="en" hreflang="en" data-title="Jenkins (software)" data-language-autonym="English" data-language-local-name="English" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Jenkins" title="Jenkins – Spanish" lang="es" hreflang="es" data-title="Jenkins" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%AC%D9%86%DA%A9%DB%8C%D9%86%D8%B2" title="جنکینز – Persian" lang="fa" hreflang="fa" data-title="جنکینز" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Jenkins_(ohjelmisto)" title="Jenkins (ohjelmisto) – Finnish" lang="fi" hreflang="fi" data-title="Jenkins (ohjelmisto)" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Jenkins_(logiciel)" title="Jenkins (logiciel) – French" lang="fr" hreflang="fr" data-title="Jenkins (logiciel)" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%92%27%D7%A0%D7%A7%D7%99%D7%A0%D7%A1_(%D7%AA%D7%95%D7%9B%D7%A0%D7%94)" title="ג&#039;נקינס (תוכנה) – Hebrew" lang="he" hreflang="he" data-title="ג&#039;נקינס (תוכנה)" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Jenkins_(szoftver)" title="Jenkins (szoftver) – Hungarian" lang="hu" hreflang="hu" data-title="Jenkins (szoftver)" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Jenkins_(software)" title="Jenkins (software) – Italian" lang="it" hreflang="it" data-title="Jenkins (software)" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Jenkins" title="Jenkins – Japanese" lang="ja" hreflang="ja" data-title="Jenkins" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EC%A0%A0%ED%82%A8%EC%8A%A4_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)" title="젠킨스 (소프트웨어) – Korean" lang="ko" hreflang="ko" data-title="젠킨스 (소프트웨어)" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Jenkins_(software)" title="Jenkins (software) – Dutch" lang="nl" hreflang="nl" data-title="Jenkins (software)" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Jenkins" title="Jenkins – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Jenkins" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Jenkins_(oprogramowanie)" title="Jenkins (oprogramowanie) – Polish" lang="pl" hreflang="pl" data-title="Jenkins (oprogramowanie)" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/Jenkins_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5)" title="Jenkins (программное обеспечение) – Russian" lang="ru" hreflang="ru" data-title="Jenkins (программное обеспечение)" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/Jenkins" title="Jenkins – Ukrainian" lang="uk" hreflang="uk" data-title="Jenkins" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/Jenkins_(ph%E1%BA%A7n_m%E1%BB%81m)" title="Jenkins (phần mềm) – Vietnamese" lang="vi" hreflang="vi" data-title="Jenkins (phần mềm)" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Jenkins_(%E8%BD%AF%E4%BB%B6)" title="Jenkins (软件) – Chinese" lang="zh" hreflang="zh" data-title="Jenkins (软件)" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q7491312#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/MediaWiki" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/mediawikiwiki.svg" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="MediaWiki" src="/static/images/mobile/copyright/mediawikiwiki-wordmark.svg" style="width: 7.5em; height: 1.125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search MediaWiki [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search MediaWiki" aria-label="Search MediaWiki" autocapitalize="sentences" title="Search MediaWiki [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-uls" class="mw-list-item active user-links-collapsible-item"><a data-mw="interface" href="#" class="uls-trigger cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>English</span></a> </li> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=spontaneous&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Continuous+integration%2FJenkins" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Continuous+integration%2FJenkins" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="More options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=spontaneous&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Continuous+integration%2FJenkins" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Continuous+integration%2FJenkins" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Beginning</div> </a> </li> <li id="toc-Comment_commands" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Comment_commands"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Comment commands</span> </div> </a> <ul id="toc-Comment_commands-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Local_Installation" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Local_Installation"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Local Installation</span> </div> </a> <button aria-controls="toc-Local_Installation-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Local Installation subsection</span> </button> <ul id="toc-Local_Installation-sublist" class="vector-toc-list"> <li id="toc-Automatic_installation" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Automatic_installation"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Automatic installation</span> </div> </a> <ul id="toc-Automatic_installation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Manual_installation" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Manual_installation"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Manual installation</span> </div> </a> <ul id="toc-Manual_installation-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Issue?" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Issue?"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Issue?</span> </div> </a> <button aria-controls="toc-Issue?-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Issue? subsection</span> </button> <ul id="toc-Issue?-sublist" class="vector-toc-list"> <li id="toc-Hung_beta_code/db_update" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Hung_beta_code/db_update"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Hung beta code/db update</span> </div> </a> <ul id="toc-Hung_beta_code/db_update-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Restart" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Restart"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Restart</span> </div> </a> <ul id="toc-Restart-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-OOM_Issues" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#OOM_Issues"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3</span> <span>OOM Issues</span> </div> </a> <ul id="toc-OOM_Issues-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Build_failures_look_unrelated" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Build_failures_look_unrelated"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.4</span> <span>Build failures look unrelated</span> </div> </a> <ul id="toc-Build_failures_look_unrelated-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Agent_remote_call_failed" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Agent_remote_call_failed"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.5</span> <span>Agent remote call failed</span> </div> </a> <ul id="toc-Agent_remote_call_failed-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Debugging" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Debugging"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Debugging</span> </div> </a> <ul id="toc-Debugging-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Secrets" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Secrets"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Secrets</span> </div> </a> <ul id="toc-Secrets-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Continuous integration/Jenkins</span></h1> <div class="mw-indicators"> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Continuous_integration/Jenkins" title="View the content page [c]" accesskey="c"><span>Page</span></a></li><li id="ca-talk" class="new vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Talk:Continuous_integration/Jenkins&amp;action=edit&amp;redlink=1" rel="discussion" class="new" title="Discussion about the content page (page does not exist) [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Continuous_integration/Jenkins"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Continuous_integration/Jenkins"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Continuous_integration/Jenkins" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Continuous_integration/Jenkins" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;oldid=6841444" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Continuous_integration%2FJenkins&amp;id=6841444&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FContinuous_integration%2FJenkins"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FContinuous_integration%2FJenkins"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="/w/index.php?title=Special:Book&amp;bookcmd=book_creator&amp;referer=Continuous+integration%2FJenkins"><span>Create a book</span></a></li><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Continuous_integration%2FJenkins&amp;action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Jenkins_(software)" hreflang="en"><span>Wikimedia Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-wikipedia mw-list-item"><a href="https://en.wikipedia.org/wiki/Jenkins_(software)" hreflang="en"><span>Wikipedia</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q7491312" title="Link to connected data repository item [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div id="siteSub" class="noprint">From mediawiki.org</div> </div> <div id="contentSub"><div id="mw-content-subtitle"><div class="subpages">&lt; <bdi dir="ltr"><a href="/wiki/Continuous_integration" title="Continuous integration">Continuous integration</a></bdi></div></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><figure class="mw-halign-right" typeof="mw:File"><a href="/wiki/File:Jenkins_logo_with_title.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Jenkins_logo_with_title.svg/200px-Jenkins_logo_with_title.svg.png" decoding="async" width="200" height="64" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Jenkins_logo_with_title.svg/300px-Jenkins_logo_with_title.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Jenkins_logo_with_title.svg/400px-Jenkins_logo_with_title.svg.png 2x" data-file-width="1032" data-file-height="332"/></a><figcaption></figcaption></figure> <p><b>Jenkins</b> is a Java tool used to handle recurring tasks such as running tests or building packages. Our primary install is at <a class="external free" href="https://integration.wikimedia.org/ci/">https://integration.wikimedia.org/ci/</a>. </p><p>The tool is permanently connected to our review tool (<a href="/wiki/Gerrit" title="Gerrit">Gerrit</a>) and can be made to react on changes submitted to Gerrit. A typical example, is running MediaWiki unit tests whenever a change is submitted to the <code>mediawiki/core.git</code> repository. </p><p>The configuration of individual jobs is abstracted via <b><a href="/wiki/Continuous_integration/Jenkins_job_builder" title="Continuous integration/Jenkins job builder">Jenkins job builder</a></b>. The jobs are triggered with <b><a href="/wiki/Continuous_integration/Zuul" title="Continuous integration/Zuul">Zuul</a></b> (which processes Gerrit events), and configured in the <code><a href="https://gerrit.wikimedia.org/g/integration/config" class="extiw" title="git:integration/config">integration/config.git</a></code> repository. </p><p>If you are on the <a href="/wiki/Continuous_integration/Allow_list" title="Continuous integration/Allow list">allow list</a>, you can force Zuul to run all tests on a patchset by adding a comment beginning with the word <code>recheck</code> in Gerrit. </p><p>Most of the infrastructure is detailed on wikitech: </p> <ul><li><a href="https://wikitech.wikimedia.org/wiki/Jenkins" class="extiw" title="wikitech:Jenkins">wikitech:Jenkins</a></li> <li><a href="https://wikitech.wikimedia.org/wiki/Nova_Resource:Integration/Setup" class="extiw" title="wikitech:Nova Resource:Integration/Setup">Add new Jenkins agents</a>.</li></ul> <meta property="mw:PageProp/toc"/> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Comment_commands" data-mw-thread-id="h-Comment_commands"><span data-mw-comment-start="" id="h-Comment_commands"></span>Comment commands<span data-mw-comment-end="h-Comment_commands"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=1" title="Edit section: Comment commands"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Comment_commands","replies":[]}}--></div> <p><i>You will need to be added to the <a href="/wiki/Continuous_integration/Allow_list" title="Continuous integration/Allow list">allow list</a> to trigger these commands.</i> </p><p>You can monitor the running tests at <a class="external free" href="https://integration.wikimedia.org/zuul/">https://integration.wikimedia.org/zuul/</a>. As documented there, there are a number of special commands that you can write in as a gerrit comment to trigger Zuul to (re)run the tests defined in a repo on a given patchset: </p> <ul><li><code>recheck</code> – the test jobs in the 'test' pipeline (<i>i.e.</i>, the standard tests; this is a sub-set of the merge tests)</li> <li><code>check coverage</code> – the test job in the 'coverage' pipeline (for PHP code coverage)</li> <li><code>check perf</code> – the test job in the 'patch-performance' pipeline</li> <li><code>check codehealth</code> – the test job in the 'codehealth' pipeline</li> <li><code>check experimental</code> – any test jobs in the 'experimental' pipeline (this might be new versions of PHP, Node.js, Python, <i>etc.</i> that aren't yet tested, or alternative environment systems or databases such as PostgreSQL/SQLite)</li> <li><code>check php</code> – any test jobs in the 'php' pipeline (the tests that will be run on merge that are missing from the 'test' pipeline); you can also trigger this with the legacy triggers <code>check php5</code>, <code>check zend</code>, <code>check sqlite</code>, and <code>check postgres</code>.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></li></ul> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Local_Installation" data-mw-thread-id="h-Local_Installation"><span data-mw-comment-start="" id="h-Local_Installation"></span>Local Installation<span data-mw-comment-end="h-Local_Installation"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=2" title="Edit section: Local Installation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Local_Installation","replies":["h-Automatic_installation-Local_Installation","h-Manual_installation-Local_Installation"]}}--></div> <style data-mw-deduplicate="TemplateStyles:r6824882">.mw-parser-output table.ambox{margin:0 10%;width:unset;border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output table.ambox+table.ambox,.mw-parser-output table.ambox+link+table.ambox,.mw-parser-output table.ambox+style+table.ambox{margin-top:-1px}.mw-parser-output .ambox td.mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox th.mbox-text,.mw-parser-output .ambox td.mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox td.mbox-image{padding:2px 0 2px 0.5em}.mw-parser-output .ambox td.mbox-imageright{padding:2px 0.5em 2px 0}.mw-parser-output table.ambox-notice{border-left-color:#36c}.mw-parser-output table.ambox-speedy{background-color:var(--background-color-error-subtle,#fee7e6)}.mw-parser-output table.ambox-delete,.mw-parser-output table.ambox-speedy{border-left-color:var(--background-color-error--active,#b32424)}.mw-parser-output table.ambox-content{border-left-color:#f28500}.mw-parser-output table.ambox-style{border-left-color:#fc3}.mw-parser-output table.ambox-move{border-left-color:#9932cc}.mw-parser-output table.ambox-protection{border-left-color:#a2a9b1}html body.mediawiki .mw-parser-output .ambox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;box-sizing:border-box;width:238px;font-size:88%;line-height:1.25em}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;box-sizing:border-box;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}</style><table class="plainlinks ambox box-Update ambox-content ambox-Update metadata" role="presentation"><tbody><tr><td class="mbox-image"><div style="width:52px"><span typeof="mw:File"><span><img src="//upload.wikimedia.org/wikipedia/commons/thumb/9/9b/Gnome-appointment-soon.svg/45px-Gnome-appointment-soon.svg.png" decoding="async" width="45" height="45" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/9/9b/Gnome-appointment-soon.svg/68px-Gnome-appointment-soon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/9/9b/Gnome-appointment-soon.svg/90px-Gnome-appointment-soon.svg.png 2x" data-file-width="48" data-file-height="48"/></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">This page is <b>outdated</b>. <div class="hide-when-compact" style="display:inline;">It was written for an older version of MediaWiki and may not apply to the most recent version. If you have checked or updated this page and found the content to be suitable, please remove this notice. </div></div></td></tr></tbody></table> <div style="display:block;margin-left:0;"><table class="mw-collapsible mw-collapsed" style="margin-top:.2em; border:1px solid silver;text-align:left; width: 100%;"><tbody><tr><th style="font-size:112%;background:#F8FCFF;color:black;text-align:center">Potentially obsolete system to install the stack on a local machine</th></tr><tr><td style="font-size:112%;background:white;border:solid 1px silver;padding:8px"> <div class="mw-heading mw-heading3"><h3 id="Automatic_installation" data-mw-thread-id="h-Automatic_installation-Local_Installation"><span data-mw-comment-start="" id="h-Automatic_installation-Local_Installation"></span>Automatic installation<span data-mw-comment-end="h-Automatic_installation-Local_Installation"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=3" title="Edit section: Automatic installation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>curl <a rel="nofollow" class="external free" href="https://raw.github.com/valhallasw/wikimedia-mkjenkins/master/mkjenkins.sh">https://raw.github.com/valhallasw/wikimedia-mkjenkins/master/mkjenkins.sh</a> | bash</code> </p><p>To make the install go faster, it helps to have a mediawiki-core checkout in ~/src/mediawiki-core - if this repository exists, it will make a local clone. If it doesn't, it will download from gerrit instead (slow!). </p> <div class="mw-heading mw-heading3"><h3 id="Manual_installation" data-mw-thread-id="h-Manual_installation-Local_Installation"><span data-mw-comment-start="" id="h-Manual_installation-Local_Installation"></span>Manual installation<span data-mw-comment-end="h-Manual_installation-Local_Installation"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=4" title="Edit section: Manual installation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><code>git clone <a class="external free" href="https://gerrit.wikimedia.org/r/integration/jenkins.git">https://gerrit.wikimedia.org/r/integration/jenkins.git</a> ~/.jenkins</code> <ul><li><code>~/.jenkins</code> is the default jenkins configuration directory</li></ul></li> <li><b>WM-specific configuration patch I</b> - <code>ln -s $HOME/.jenkins /var/lib/jenkins</code> <ul><li>because some jobs assume jenkins is installed in <code>/var/lib/jenkins</code></li></ul></li> <li>Download <a rel="nofollow" class="external text" href="http://mirrors.jenkins-ci.org/war/latest/jenkins.war">jenkins</a> and place it in ~/.jenkins</li> <li>install the following plugins (download into <code>~/.jenkins/plugins</code>): <ul><li><a rel="nofollow" class="external text" href="http://updates.jenkins-ci.org/latest/git.hpi">git</a></li> <li><a rel="nofollow" class="external text" href="http://updates.jenkins-ci.org/latest/git-client.hpi">git-client</a></li> <li><a rel="nofollow" class="external text" href="http://updates.jenkins-ci.org/latest/ansicolor.hpi">ansicolor</a></li> <li><a rel="nofollow" class="external text" href="http://updates.jenkins-ci.org/latest/notification.hpi">notification</a></li> <li><a rel="nofollow" class="external text" href="http://updates.jenkins-ci.org/latest/scm-api.hpi">scm-api</a></li> <li><a rel="nofollow" class="external text" href="http://updates.jenkins-ci.org/latest/timestamper.hpi">timestamper</a></li> <li><a rel="nofollow" class="external text" href="http://updates.jenkins-ci.org/latest/build-timeout.hpi">build-timeout</a></li> <li><a rel="nofollow" class="external text" href="http://updates.jenkins-ci.org/latest/xunit.hpi">xunit</a></li></ul></li> <li>Download <a href="https://gerrit.wikimedia.org/g/integration/jenkins-job-builder/%2B/HEAD/" class="extiw" title="git:integration/jenkins-job-builder/+/HEAD/">jenkins-job-builder</a> and its <a href="https://gerrit.wikimedia.org/g/integration/jenkins-job-builder-config/%2B/HEAD/" class="extiw" title="git:integration/jenkins-job-builder-config/+/HEAD/">configuration</a> ‒ see <a href="/wiki/Continuous_integration/Jenkins_job_builder" title="Continuous integration/Jenkins job builder">Continuous_integration/Jenkins job builder</a> for more information. You don't need a password when you install Jenkins locally.</li> <li><b>WM-specific configuration patch II</b> - Patch the JBB configuration that depends on Zuul (see the mkjenkins script for a diff)</li> <li>If you already have a checkout of mediawiki-core: <code>git clone --mirror -l -- your_existing_checkout /var/lib/jenkins/git/mw-core-bare</code>. Otherwise, <code>git clone --mirror -- <a class="external free" href="https://gerrit.wikimedia.org/r/mediawiki/core.git">https://gerrit.wikimedia.org/r/mediawiki/core.git</a> /var/lib/jenkins/git/mw-core-bare</code></li> <li>Start Jenkins: <code>cd ~/.jenkins &amp;&amp; java -jar jenkins.war&amp; </code></li> <li>When Jenkins is running, install the JBB jobs: <code>rm -f $HOME/.cache/jenkins_jobs/jenkins_jobs_cache.yml &amp;&amp; jenkins-jobs --conf jenkins_jobs.ini update config/</code>.</li></ul> </td></tr></tbody></table></div> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Issue?" data-mw-thread-id="h-Issue?"><span id="Issue.3F"></span><span data-mw-comment-start="" id="h-Issue?"></span>Issue?<span data-mw-comment-end="h-Issue?"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=5" title="Edit section: Issue?"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Issue?","replies":["h-Hung_beta_code\/db_update-Issue?","h-Restart-Issue?","h-OOM_Issues-Issue?","h-Build_failures_look_unrelated-Issue?","h-Agent_remote_call_failed-Issue?"]}}--></div> <div class="mw-heading mw-heading3"><h3 id="Hung_beta_code/db_update" data-mw-thread-id="h-Hung_beta_code/db_update-Issue?"><span id="Hung_beta_code.2Fdb_update"></span><span data-mw-comment-start="" id="h-Hung_beta_code/db_update-Issue?"></span>Hung beta code/db update<span data-mw-comment-end="h-Hung_beta_code/db_update-Issue?"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=6" title="Edit section: Hung beta code/db update"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r6853958">.mw-parser-output .tpl-tracked{background-color:var(--background-color-interactive,#EAECF0);color:var(--color-base,#202122);border:1px solid #72777D;border-radius:2px;font-size:85%;margin-bottom:1em;padding:0.5em;text-align:center;width:12em}.mw-parser-output .tpl-tracked.float-left{float:left;clear:left;margin-right:1em}.mw-parser-output .tpl-tracked.float-right{float:right;clear:right;margin-left:1em}.mw-parser-output .tpl-tracked .status{color:black;font-weight:bold;text-transform:uppercase}.mw-parser-output .tpl-tracked .status.resolved{color:green}@media screen{html.skin-theme-clientpref-night .mw-parser-output .tpl-tracked .status:not(.resolved){color:white}}</style><div class="tpl-tracked plainlinks mw-trackedTemplate float-right">Tracked in <a href="https://phabricator.wikimedia.org/" class="extiw" title="phabricator:">Phabricator</a><br/><b><a href="https://phabricator.wikimedia.org/T72597" class="extiw" title="phabricator:T72597"><span class="trakfab-T72597">Task T72597</span></a></b><br/><span class="status"></span></div> <p>This deadlock seems to happen more often than not following or during a database update that is taking a while to complete. </p> <ul><li>Take deployment-deploy03 offline in Jenkins <a class="external free" href="https://integration.wikimedia.org/ci/computer/deployment-deploy03/markOffline">https://integration.wikimedia.org/ci/computer/deployment-deploy03/markOffline</a></li> <li>Kill any jenkins jobs running on deployment-deploy03 via Jenkins UI</li> <li>Kill all pending jobs in the Jenkins queue that are "waiting on executors"</li> <li>Disconnect deployment-deploy03 <a class="external free" href="https://integration.wikimedia.org/ci/computer/deployment-deploy03/disconnect">https://integration.wikimedia.org/ci/computer/deployment-deploy03/disconnect</a></li> <li>Bring deployment-deploy03 back online (button labeled "Bring this node back online")</li> <li>Launch slave agent (there's a button that says this)</li> <li>Check agent log to see that it connected <a class="external free" href="https://integration.wikimedia.org/ci/computer/deployment-deploy03/log">https://integration.wikimedia.org/ci/computer/deployment-deploy03/log</a></li></ul> <p>Sometimes you have to do this whole dance several times before Jenkins realizes that the there are a bunch of executors that it can use. </p><p><b>Alternate method:</b> </p> <ul><li>Go to <a class="external free" href="https://integration.wikimedia.org/ci/manage">https://integration.wikimedia.org/ci/manage</a></li> <li>Go to "Configure System"</li> <li>Search page for "Enable Gearman"</li> <li>Un-check the checkbox</li> <li>Save</li> <li>Wait 30s</li> <li>Check the "Enable Gearman" checkbox</li> <li>Save</li></ul> <p>This second method may interrupt communication between running Jenkins jobs and Zuul but it seems to work even when the offline/online method fails to clear the deadlock. </p><p><b>Alternate alternate method:</b> </p> <ul><li>Login to <a class="external free" href="https://integration.wikimedia.org/ci">https://integration.wikimedia.org/ci</a></li> <li>Hit the red <code>[x]</code> to cancel one pending <code>beta-scap-eqiad</code> job</li> <li>That's it!</li></ul> <p>It seems that this is some conflict between the Jenkins native scheduler and the Gearman scheduler. Cancelling the build seems to fix the problem. Subsequent builds will deploy the same code to production. </p> <div class="mw-heading mw-heading3"><h3 id="Restart" data-mw-thread-id="h-Restart-Issue?"><span data-mw-comment-start="" id="h-Restart-Issue?"></span>Restart<span data-mw-comment-end="h-Restart-Issue?"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=7" title="Edit section: Restart"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Zuul should not be restarted. Zuul preserves the queue and continues after the restart. </p><p><b>Via web interface</b> </p><p>Apply the self-serve Jenkins repair! </p><p>With a <code>safeRestart</code> any currently running jobs will block a restart until they are canceled. Any long running jobs should be killed. Check for jobs on the main <a class="external text" href="https://integration.wikimedia.org/ci/">jenkins dashboard</a>, cancel any long-running jobs there. <b>Bonus points</b>: make a note of the patches for which you have canceled jobs on the <a class="external text" href="https://integration.wikimedia.org/zuul/">zuul dashboard</a>, comment "recheck" for any patches in the test queue that you have aborted. </p> <ol><li>Head to <a class="external free" href="https://integration.wikimedia.org/ci/safeRestart">https://integration.wikimedia.org/ci/safeRestart</a></li> <li>Login with your labs account being part of the 'wmf' LDAP group</li> <li>press "Yes"</li> <li>in <style data-mw-deduplicate="TemplateStyles:r6651115">.mw-parser-output .irc-connect>a{color:green}@media screen{html.skin-theme-clientpref-night .mw-parser-output .irc-connect>a{color:#12c812}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .irc-connect>a{color:#12c812}}</style><span class="plainlinks" style="font-family: monospace,Courier; white-space: pre-wrap !important; word-wrap: break-word; max-width: 1200px; overflow: auto;" title="#wikimedia-operations on Libera.Chat IRC"><a rel="nofollow" class="external text" href="ircs://irc.libera.chat:6697/wikimedia-operations">#wikimedia-operations</a></span> <sup class="plainlinks irc-connect"><a rel="nofollow" class="external text" href="https://web.libera.chat/?channel=#wikimedia-operations">connect</a></sup>: "!log restarting stuck Jenkins".</li></ol> <p><b>Shell</b> </p><p>On the active host (run <code>host contint.wikimedia.org</code> to see which host is currently active): </p> <pre>sudo systemctl restart jenkins </pre> <p>And then wait a while. Monitor logs via <code>sudo journalctl -f -u jenkins</code> </p> <div class="mw-heading mw-heading3"><h3 id="OOM_Issues" data-mw-thread-id="h-OOM_Issues-Issue?"><span data-mw-comment-start="" id="h-OOM_Issues-Issue?"></span>OOM Issues<span data-mw-comment-end="h-OOM_Issues-Issue?"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=8" title="Edit section: OOM Issues"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><b>Troubleshooting</b> </p><p>Whenever Jenkins appears to be stuck or facing high CPU usage, you will want to look at the Java threads: <a class="external free" href="https://integration.wikimedia.org/ci/threadDump">https://integration.wikimedia.org/ci/threadDump</a> </p><p>This is the way to do it from the CLI </p> <pre> jstack -l -F &lt;pid of jenkins> </pre> <p>Last time this happened (2017-05-20) a restart of Jenkins "fixed" the problem, but we were unable to troubleshoot without a stacktrace from <code>jstack</code> </p> <div class="mw-heading mw-heading3"><h3 id="Build_failures_look_unrelated" data-mw-thread-id="h-Build_failures_look_unrelated-Issue?"><span data-mw-comment-start="" id="h-Build_failures_look_unrelated-Issue?"></span>Build failures look unrelated<span data-mw-comment-end="h-Build_failures_look_unrelated-Issue?"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=9" title="Edit section: Build failures look unrelated"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Sometimes, changes in other repositories may cause your builds to fail. You can check the <a href="https://phabricator.wikimedia.org/project/view/3298/" class="extiw" title="phabricator:project/view/3298/">Shared Build Failure</a> board to see if any existing issues are similar to your build failure; if there aren’t any, and you’re reasonably certain that your build failures are unrelated to your own changes, you can create a new task. </p> <div class="mw-heading mw-heading3"><h3 id="Agent_remote_call_failed" data-mw-thread-id="h-Agent_remote_call_failed-Issue?"><span data-mw-comment-start="" id="h-Agent_remote_call_failed-Issue?"></span>Agent remote call failed<span data-mw-comment-end="h-Agent_remote_call_failed-Issue?"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=10" title="Edit section: Agent remote call failed"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Errors like <code>11:53:37 FATAL: Remote call on integration-agent-docker-1001 failed</code> are caused with problems in the java agent process running on each agent machine. </p><p>To fix these errors try restarting the agent on the target machine. </p> <ul><li>Take agent offline in Jenkins at <a class="external free" href="https://integration.wikimedia.org/ci/computer/AGENTNAME/markOffline">https://integration.wikimedia.org/ci/computer/AGENTNAME/markOffline</a></li> <li>Disconnect the agent: <a class="external free" href="https://integration.wikimedia.org/ci/computer/AGENTNAME/disconnect">https://integration.wikimedia.org/ci/computer/AGENTNAME/disconnect</a></li> <li>ssh into the agent and kill the java <code>slave.jar</code> process<div class="mw-highlight mw-highlight-lang-bash mw-content-ltr" dir="ltr"><pre><span></span>thcipriani@integration-agent-docker-1001:~$<span class="w"> </span>ps<span class="w"> </span>aux<span class="w"> </span><span class="p">|</span><span class="w"> </span>grep<span class="w"> </span>-i<span class="w"> </span>jav<span class="o">[</span>a<span class="o">]</span> jenkins+<span class="w"> </span><span class="m">31931</span><span class="w"> </span><span class="m">0</span>.9<span class="w"> </span><span class="m">1</span>.9<span class="w"> </span><span class="m">12195832</span><span class="w"> </span><span class="m">483676</span><span class="w"> </span>?<span class="w"> </span>Ssl<span class="w"> </span>Feb19<span class="w"> </span><span class="m">158</span>:55<span class="w"> </span>java<span class="w"> </span>-jar<span class="w"> </span>slave.jar thcipriani@integration-agent-docker-1001:~$<span class="w"> </span>sudo<span class="w"> </span><span class="nb">kill</span><span class="w"> </span>-9<span class="w"> </span><span class="m">31931</span> </pre></div></li> <li>Bring node back in Jenkins web ui: <a class="external free" href="https://integration.wikimedia.org/ci/computer/AGENTNAME/toggleOffline">https://integration.wikimedia.org/ci/computer/AGENTNAME/toggleOffline</a></li> <li>Relaunch the agent on the machine via Jenkins web ui: <a class="external free" href="https://integration.wikimedia.org/ci/computer/AGENTNAME/launchSlaveAgent">https://integration.wikimedia.org/ci/computer/AGENTNAME/launchSlaveAgent</a></li> <li>Ensure the agent has launched on the agent itself, i.e., ensure that there is a new PID for the <code>slave.jar</code> process<div class="mw-highlight mw-highlight-lang-bash mw-content-ltr" dir="ltr"><pre><span></span>thcipriani@integration-agent-docker-1001:~$<span class="w"> </span>ps<span class="w"> </span>aux<span class="w"> </span><span class="p">|</span><span class="w"> </span>grep<span class="w"> </span>-i<span class="w"> </span>jav<span class="o">[</span>a<span class="o">]</span> jenkins+<span class="w"> </span><span class="m">10618</span><span class="w"> </span><span class="m">27</span>.8<span class="w"> </span><span class="m">0</span>.5<span class="w"> </span><span class="m">10419524</span><span class="w"> </span><span class="m">141168</span><span class="w"> </span>?<span class="w"> </span>Ssl<span class="w"> </span><span class="m">16</span>:43<span class="w"> </span><span class="m">0</span>:05<span class="w"> </span>java<span class="w"> </span>-jar<span class="w"> </span>slave.jar </pre></div></li></ul> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Debugging" data-mw-thread-id="h-Debugging"><span data-mw-comment-start="" id="h-Debugging"></span>Debugging<span data-mw-comment-end="h-Debugging"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=11" title="Edit section: Debugging"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Debugging","replies":[]}}--></div> <p>Start Jenkins with Java option: </p> <pre>-Dhudson.plugins.git.GitSCM.verbose="true" </pre> <p><br/> Text thread dump: <a class="external free" href="https://integration.wikimedia.org/ci/monitoring?part=threadsDump">https://integration.wikimedia.org/ci/monitoring?part=threadsDump</a> </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Secrets" data-mw-thread-id="h-Secrets"><span data-mw-comment-start="" id="h-Secrets"></span>Secrets<span data-mw-comment-end="h-Secrets"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=12" title="Edit section: Secrets"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Secrets","replies":[]}}--></div> <p>Jenkins has built-in mechanisms for storing secrets like ssh keys and service passwords. Unlike most secrets at WMF, Jenkins job secrets are not stored in the private Puppet repository. </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="See_also" data-mw-thread-id="h-See_also"><span data-mw-comment-start="" id="h-See_also"></span>See also<span data-mw-comment-end="h-See_also"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Continuous_integration/Jenkins&amp;action=edit&amp;section=13" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-See_also","replies":[]}}--></div> <ul><li><a href="https://wikitech.wikimedia.org/wiki/Jenkins" class="extiw" title="wikitech:Jenkins">wikitech:Jenkins</a></li> <li><a rel="nofollow" class="external free" href="https://www.jenkins.io/">https://www.jenkins.io/</a></li></ul> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a class="external free" href="https://gerrit.wikimedia.org/g/integration/config/+/d33f935f8c790ae672b0fbb4049f8133e0c0647a/zuul/layout.yaml#737">https://gerrit.wikimedia.org/g/integration/config/+/d33f935f8c790ae672b0fbb4049f8133e0c0647a/zuul/layout.yaml#737</a></span> </li> </ol></div> <!-- NewPP limit report Parsed by mw‐web.eqiad.main‐7c479b968‐85b4f Cached time: 20241115144146 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] DiscussionTools time usage: 0.017 seconds CPU time usage: 0.131 seconds Real time usage: 0.165 seconds Preprocessor visited node count: 419/1000000 Post‐expand include size: 3832/2097152 bytes Template argument size: 372/2097152 bytes Highest expansion depth: 10/100 Expensive parser function count: 3/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 5015/5000000 bytes Lua time usage: 0.032/10.000 seconds Lua memory usage: 1031681/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 111.509 1 -total 40.44% 45.098 1 Template:Outdated 34.47% 38.434 1 Template:Ambox 23.77% 26.502 4 Template:Dir 20.65% 23.031 4 Template:Pagelang 14.34% 15.993 1 Template:Tracked 11.57% 12.896 1 Template:Irc 6.96% 7.762 1 Template:Collapse_top 2.29% 2.557 2 Template:Git_file 2.18% 2.430 1 Template:Trim --> <!-- Saved in parser cache with key mediawikiwiki:pcache:idhash:93106-0!canonical and timestamp 20241115144146 and revision id 6841444. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://www.mediawiki.org/w/index.php?title=Continuous_integration/Jenkins&amp;oldid=6841444">https://www.mediawiki.org/w/index.php?title=Continuous_integration/Jenkins&amp;oldid=6841444</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Special:Categories" title="Special:Categories">Category</a>: <ul><li><a href="/wiki/Category:Outdated_pages" title="Category:Outdated pages">Outdated pages</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 6 November 2024, at 22:50.</li> <li id="footer-info-copyright">Text is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. Text in <a class="external text" href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">the Help: namespace</a> is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>. By using this site, you agree to the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of Use</a> and <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy Policy</a>.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Project:About">About mediawiki.org</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Project:General_disclaimer">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/www.mediawiki.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//m.mediawiki.org/w/index.php?title=Continuous_integration/Jenkins&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-b5stz","wgBackendResponseTime":144,"wgDiscussionToolsPageThreads":[{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Comment_commands","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Local_Installation","replies":[{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Automatic_installation-Local_Installation","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Manual_installation-Local_Installation","replies":[]}]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Issue?","replies":[{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Hung_beta_code/db_update-Issue?","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Restart-Issue?","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-OOM_Issues-Issue?","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Build_failures_look_unrelated-Issue?","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Agent_remote_call_failed-Issue?","replies":[]}]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Debugging","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Secrets","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-See_also","replies":[]}],"wgPageParseReport":{"discussiontools":{"limitreport-timeusage":"0.017"},"limitreport":{"cputime":"0.131","walltime":"0.165","ppvisitednodes":{"value":419,"limit":1000000},"postexpandincludesize":{"value":3832,"limit":2097152},"templateargumentsize":{"value":372,"limit":2097152},"expansiondepth":{"value":10,"limit":100},"expensivefunctioncount":{"value":3,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":5015,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 111.509 1 -total"," 40.44% 45.098 1 Template:Outdated"," 34.47% 38.434 1 Template:Ambox"," 23.77% 26.502 4 Template:Dir"," 20.65% 23.031 4 Template:Pagelang"," 14.34% 15.993 1 Template:Tracked"," 11.57% 12.896 1 Template:Irc"," 6.96% 7.762 1 Template:Collapse_top"," 2.29% 2.557 2 Template:Git_file"," 2.18% 2.430 1 Template:Trim"]},"scribunto":{"limitreport-timeusage":{"value":"0.032","limit":"10.000"},"limitreport-memusage":{"value":1031681,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-7c479b968-85b4f","timestamp":"20241115144146","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Continuous integration\/Jenkins","url":"https:\/\/www.mediawiki.org\/wiki\/Continuous_integration\/Jenkins","sameAs":"http:\/\/www.wikidata.org\/entity\/Q7491312","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q7491312","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2012-06-28T07:49:19Z","dateModified":"2024-11-06T22:50:23Z","headline":"continuous integration tool"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10