{"id":39145,"date":"2019-06-17T06:59:44","date_gmt":"2019-06-17T11:59:44","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/appcenter\/?p=39145"},"modified":"2019-06-17T13:22:09","modified_gmt":"2019-06-17T18:22:09","slug":"app-center-build-adds-cloning-of-existing-build-configurations","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/appcenter\/app-center-build-adds-cloning-of-existing-build-configurations\/","title":{"rendered":"App Center Build Adds Cloning of Existing Build Configurations"},"content":{"rendered":"<p>When we set out on our journey to re-imagine how setting up Continuous Integration for your apps would look like, two things we always had in mind were speed and simplicity. When setting up your first branch, you would benefit from our fast analysis of your repository, allowing you to pick the right project with a few clicks. Over the course of the last few months, we have heard <a href=\"https:\/\/github.com\/microsoft\/appcenter\/issues\/22\">your feedback<\/a> that you would love to use your existing configured branches as a basis for new build configurations.<\/p>\n<p>We\u2019re excited to let you know that one of several improvements coming to our Visual Studio App Center Build service is the ability to clone build configurations from existing branches to new branches. Here\u2019s how it works:<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-39149 size-full\" src=\"https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/06\/clone.gif\" alt=\"\" width=\"1024\" height=\"562\" \/><\/p>\n<p>From an unconfigured branch, a new option will appear in the dropdown if you have at least one branch configured already. This will allow you to clone an existing build configuration for your app, by offering a selection of already configured branches in your app.<\/p>\n<p>Once you click <strong>Clone<\/strong>, the configuration will be cloned, and you can start building from it.<\/p>\n<p>Also, you can select to clone the configuration from the branch list right away:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-39147 size-large\" src=\"https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/06\/word-image-1-1024x545.png\" alt=\"\" width=\"640\" height=\"341\" srcset=\"https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/06\/word-image-1-1024x545.png 1024w, https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/06\/word-image-1-300x160.png 300w, https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/06\/word-image-1-768x408.png 768w, https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/06\/word-image-1.png 1100w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>Being able to clone build configurations streamlines a lot of repetitive tasks, such as having to type in your signing credentials for new configurations and also opens new possibilities.<\/p>\n<p>Since your branch might not be identical to the one that you\u2019re cloning the configuration from, we also offer you an easy way to jump right into editing your newly cloned build configuration:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-39148 size-large\" src=\"https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/06\/word-image-2-1024x92.png\" alt=\"\" width=\"640\" height=\"58\" srcset=\"https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/06\/word-image-2-1024x92.png 1024w, https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/06\/word-image-2-300x27.png 300w, https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/06\/word-image-2-768x69.png 768w, https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/06\/word-image-2.png 1099w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>Now you can use existing configurations as a template, and then just tweak individual settings to match the branch your new configuration belongs to.<\/p>\n<p>Of course, you can also always use our existing branch configuration API to configure a new branch to clone from an existing build configuration:<\/p>\n<p><span data-contrast=\"auto\">POST \/v0.1\/apps\/<\/span><span data-contrast=\"auto\">$<\/span><span data-contrast=\"auto\">appId<\/span><span data-contrast=\"auto\">\/branches\/d<\/span><span data-contrast=\"auto\">evelop<\/span><span data-contrast=\"auto\">\/config<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">{<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\u00a0\u00a0\u00a0 &#8220;<\/span><span data-contrast=\"auto\">cloneFromBranch<\/span><span data-contrast=\"auto\">&#8220;: &#8220;master&#8221;<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">}<\/span><span data-ccp-props=\"{&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span style=\"font-size: 1rem;\">Additionally, cloned build configurations are just like new build configurations: They are independent of the branch they\u2019re cloned from, so you can make independent edits to either configuration without impacting the other.<\/span>When we clone your build configuration, all the same principles to regular configurations apply as well: your signing credentials are stored encrypted and can only be read on the build agents \u2013 we simply copy the encrypted values to the new configuration, but never read them in the process.<\/p>\n<p>We are excited to see how cloning build configurations improves your daily Continuous Integration setup flow and what creative use cases you find for it.\u00a0 We can\u2019t wait to hear your feedback!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Over the course of the last few months, we have heard your feedback that you would love to use your existing configured branches as a basis for new build configurations. We\u2019re excited to let you know that one of several improvements coming to our Visual Studio App Center Build service is the ability to clone build configurations from existing<\/p>\n","protected":false},"author":33,"featured_media":39146,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16],"tags":[],"class_list":["post-39145","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobiledev"],"acf":[],"blog_post_summary":"<p>Over the course of the last few months, we have heard your feedback that you would love to use your existing configured branches as a basis for new build configurations. We\u2019re excited to let you know that one of several improvements coming to our Visual Studio App Center Build service is the ability to clone build configurations from existing<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/posts\/39145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/comments?post=39145"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/posts\/39145\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/media\/39146"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/media?parent=39145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/categories?post=39145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/tags?post=39145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}