{"id":1130,"date":"2019-05-08T13:19:57","date_gmt":"2019-05-08T05:19:57","guid":{"rendered":"http:\/\/blog.axqd.net\/?p=1130"},"modified":"2019-05-08T13:19:57","modified_gmt":"2019-05-08T05:19:57","slug":"jenkins%e5%8f%8a%e5%ad%90%e4%bb%bb%e5%8a%a1%e5%85%a8%e8%87%aa%e5%8a%a8%e9%83%a8%e7%bd%b2","status":"publish","type":"post","link":"https:\/\/blog.axqd.net\/?p=1130","title":{"rendered":"Jenkins\u53ca\u5b50\u4efb\u52a1\u5168\u81ea\u52a8\u90e8\u7f72"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Ansible\u57fa\u7840\u914d\u7f6e<\/h2>\n\n\n\n<p><a href=\"https:\/\/galaxy.ansible.com\/geerlingguy\/jenkins\">https:\/\/galaxy.ansible.com\/geerlingguy\/jenkins<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ansible\u989d\u5916\u914d\u7f6e &#8211; Groovy Scripts<\/h2>\n\n\n\n<p>&#8220;{{ jenkins_home }}\/init.groovy.d\/{{ item }}&#8221;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jenkins Seed Job &#8211; Job-DSL Groovy Scripts<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>\u52a8\u6001API\u53c2\u8003\u6587\u6863\uff1a http:\/\/&lt;your jenkins>\/plugin\/job-dsl\/api-viewer\/index.html<\/li><li>Playground: <a href=\"http:\/\/job-dsl.herokuapp.com\/\">http:\/\/job-dsl.herokuapp.com\/<\/a><\/li><li>Deprecated NoTriggerBranchProperty for multibranchPipelineJob<ul><li>\u4e34\u65f6configure\u89e3\u51b3\u65b9\u6848<\/li><\/ul><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  configure { node ->\n    def src = node \/ sources \/ data \/ 'jenkins.branch.BranchSource'\n    src &lt;&lt; 'buildStrategies' {\n      'jenkins.branch.buildstrategies.basic.NamedBranchBuildStrategyImpl' {\n        filters {\n          'jenkins.branch.buildstrategies.basic.NamedBranchBuildStrategyImpl_-WildcardsNameFilter' {\n            includes(\"\")\n            excludes(\"*\")\n            caseSensitive(false)\n          }\n        }\n      }\n    }\n  }<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Global Shared Libraries &#8211; Groovy Scripts<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>http:\/\/&lt;your jenkins>\/pipeline-syntax\/<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Jenkinsfile &#8211; Groovy Scripts<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>@Library(&#8216;PipelineSharedLib@master&#8217;) _<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Perforce\u53ccClient Checkout\u89e3\u51b3\u65b9\u6848<\/h2>\n\n\n\n<p>\u786e\u4fdd\u4e24\u4e2aclient\u7684\u540d\u79f0\u4e0d\u540c\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>pipelineJob \/ definition \/ cpsScm \/ scm \/ perforce \/ workspace \/ streamSpec with pipelineJob \/ definition \/ cpsScm \/ lightweight and scriptPath<\/li><li>checkout() in Jenkinsfile<\/li><\/ul>\n\n\n\n<p>\u5e76\u4ecescm\u4e2d\u63d0\u53d6\u76f8\u5173\u4fe1\u606f\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  checkout([\n    $class:        'PerforceScm',\n    credential:    scm.credential,\n    workspace:     new StreamWorkspaceImpl(\n                     'none',                   \/\/ charset\n                     false,                    \/\/ pinHost\n                     scm.workspace.streamName, \/\/ streamName\n                     \"jenkins-${NODE_NAME}-${JOB_NAME}-${EXECUTOR_NUMBER}\" \/\/ format\n                   ),\n    populate:      scm.populate\n  ])<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ansible\u57fa\u7840\u914d\u7f6e https:\/\/galaxy.ansible.com\/geerlingguy\/jenk &hellip; <a href=\"https:\/\/blog.axqd.net\/?p=1130\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u201cJenkins\u53ca\u5b50\u4efb\u52a1\u5168\u81ea\u52a8\u90e8\u7f72\u201d<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[199,200,201,198,194,192],"class_list":["post-1130","post","type-post","status-publish","format-standard","hentry","category-tech","tag-ansible","tag-ci","tag-groovy","tag-jenkins","tag-perforce","tag-scm"],"_links":{"self":[{"href":"https:\/\/blog.axqd.net\/index.php?rest_route=\/wp\/v2\/posts\/1130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.axqd.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.axqd.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.axqd.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.axqd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1130"}],"version-history":[{"count":4,"href":"https:\/\/blog.axqd.net\/index.php?rest_route=\/wp\/v2\/posts\/1130\/revisions"}],"predecessor-version":[{"id":1134,"href":"https:\/\/blog.axqd.net\/index.php?rest_route=\/wp\/v2\/posts\/1130\/revisions\/1134"}],"wp:attachment":[{"href":"https:\/\/blog.axqd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.axqd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.axqd.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}