{"id":5509,"date":"2018-10-22T10:26:41","date_gmt":"2018-10-22T10:26:41","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=5509"},"modified":"2021-11-17T09:46:44","modified_gmt":"2021-11-17T09:46:44","slug":"copy-a-files-from-jenkins-server-to-jenkins-node-slave-using-pipeline-plugins","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/copy-a-files-from-jenkins-server-to-jenkins-node-slave-using-pipeline-plugins\/","title":{"rendered":"Copy a files from jenkins server to jenkins node\/slave using pipeline plugins"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5536\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2018\/10\/copy-jenkins.jpg\" alt=\"\" width=\"600\" height=\"315\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2018\/10\/copy-jenkins.jpg 600w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2018\/10\/copy-jenkins-300x158.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><strong>Workarond 1 &#8211; Try to use stash\/unstash, but it is bad for large files.<\/strong><\/p>\n<p>[code]node(&#8216;master&#8217;) {<br \/>dir(&#8216;\/path\/on\/master\/1&#8217;) {<br \/>stash &#8216;master-stuff&#8217;<br \/>}<br \/>}<br \/>node(&#8216;slave&#8217;) {<br \/>dir(&#8216;\/path\/on\/slave\/1&#8217;) {<br \/>unstash &#8216;master-stuff&#8217;<br \/>}<br \/>dir(&#8216;\/path\/on\/slave\/2&#8217;) {<br \/>stash &#8216;slave-stuff&#8217;<br \/>}<br \/>}<br \/>node(&#8216;master&#8217;) {<br \/>dir(&#8216;\/path\/on\/master\/2&#8217;) {<br \/>unstash &#8216;slave-stuff&#8217;<br \/>}<br \/>} [\/code]<\/p>\n<p>Read more about stash &amp; unstash<br \/>https:\/\/jenkins.io\/doc\/pipeline\/steps\/workflow-basic-steps\/#stash-stash-some-files-to-be-used-later-in-the-build<br \/>https:\/\/jenkins.io\/doc\/pipeline\/examples\/#unstash-different-dir<\/p>\n<p><strong>Workaround 2 &#8211; Try External Workspace Manager Plugin. It has pipelines steps and is good for large files.<\/strong><\/p>\n<p><strong>Workaround 3 &#8211; Try to use intermediate storage. archive() and sh(&#8220;wget $url&#8221;) will be helpful.<\/strong><\/p>\n\n<div class=\"epyt-gallery\" data-currpage=\"1\" id=\"epyt_gallery_29715\"><figure class=\"wp-block-embed wp-block-embed-youtube is-type-video is-provider-youtube epyt-figure\"><div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\"  id=\"_ytid_79022\"  width=\"760\" height=\"427\"  data-origwidth=\"760\" data-origheight=\"427\" src=\"https:\/\/www.youtube.com\/embed\/?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;\" class=\"__youtube_prefs__  no-lazyload\" title=\"YouTube player\"  data-epytgalleryid=\"epyt_gallery_29715\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe><\/div><\/figure><div class=\"epyt-gallery-list\"><div>Sorry, there was a YouTube error.<\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Workarond 1 &#8211; Try to use stash\/unstash, but it is bad for large files. [code]node(&#8216;master&#8217;) {dir(&#8216;\/path\/on\/master\/1&#8217;) {stash &#8216;master-stuff&#8217;}}node(&#8216;slave&#8217;) {dir(&#8216;\/path\/on\/slave\/1&#8217;) {unstash &#8216;master-stuff&#8217;}dir(&#8216;\/path\/on\/slave\/2&#8217;) {stash &#8216;slave-stuff&#8217;}}node(&#8216;master&#8217;) {dir(&#8216;\/path\/on\/master\/2&#8217;) {unstash &#8216;slave-stuff&#8217;}} [\/code]&#8230; <\/p>\n","protected":false},"author":1,"featured_media":5536,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[42],"tags":[2520,273,145,5105,1543,5104,1076,4924],"class_list":["post-5509","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jenkins","tag-copy","tag-files","tag-jenkins","tag-jenkinsfile","tag-node","tag-pipeline","tag-plugins","tag-slave"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/5509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=5509"}],"version-history":[{"count":5,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/5509\/revisions"}],"predecessor-version":[{"id":25570,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/5509\/revisions\/25570"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/5536"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=5509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=5509"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=5509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}