{"id":27995,"date":"2017-02-28T07:56:34","date_gmt":"2017-02-28T15:56:34","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/visualstudioalm\/?p=27995"},"modified":"2019-02-14T15:55:49","modified_gmt":"2019-02-14T23:55:49","slug":"team-services-february-extensions-roundup","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/devops\/team-services-february-extensions-roundup\/","title":{"rendered":"Team Services February Extensions Roundup"},"content":{"rendered":"<p>February is coming to a close and it has been the best month on record for the Team Services Extension ecosystem. We&#8217;ve set new records for customer installs and our community of publishers continues to grow.\u00a0One of my favorite parts of\u00a0this job is the relationship I get to build with our publishers. Seeing their investment in the platform and helping them be successful is awesome. This month, I want to highlight two extensions that aren&#8217;t new to the Marketplace, but are backed by publishers who continue to invest in them.<\/p>\n<h3><span class=\"ux-item-name\">LaunchDarkly<\/span><img decoding=\"async\" width=\"610\" height=\"126\" class=\"wp-image-28005 aligncenter\" alt=\"ld_logo_blue\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2017\/02\/ld_logo_blue.png\" \/><\/h3>\n<p style=\"text-align: center\">See it in the Marketplace: <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=launchdarkly.launchdarkly-extension\">https:\/\/marketplace.visualstudio.com\/items?itemName=launchdarkly.launchdarkly-extension<\/a><\/p>\n<p>Managing your release pipeline with Team Services Release Definitions is one thing, using LaunchDarkly&#8217;s feature flags to manage the end to end release lifecycle of your features is a whole new experience. Leverage percentage rollouts and target granular user segments\u00a0all with a friendly feature flag UI that anyone in your organization can use.\u00a0To hear it in their own words, read more about this 5-star extension\u00a0<a href=\"http:\/\/blog.launchdarkly.com\/controlling-releases-with-microsoft-vsts-launchdarkly\/\">from LaunchDarkly&#8217;s blog post.<\/a><\/p>\n<h5>How it all works<\/h5>\n<p>The\u00a0key to unlocking\u00a0the full potential of this integration lies in LaunchDarkly&#8217;s extension of the Work Item Form. This is where you manage which feature flags correspond to your work, right from your work items.<\/p>\n<p><figure id=\"attachment_28015\" aria-labelledby=\"figcaption_attachment_28015\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/6\/2019\/05\/LD1.jpg\"><img decoding=\"async\" width=\"850\" height=\"478\" class=\"wp-image-28015\" alt=\"ld1\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2017\/02\/LD1.jpg\" \/><\/a><figcaption id=\"figcaption_attachment_28015\" class=\"wp-caption-text\">LaunchDarkly Work Item Form Extension with Feature Flags<\/figcaption><\/figure><\/p>\n<p>You will also find a new release task you can add to your Release Definitions where you can choose the environment you&#8217;re releasing to, set whether you want the feature flags associated with this release on or off, and control the percentage rollout you would like for those flags.<\/p>\n<p><figure id=\"attachment_28025\" aria-labelledby=\"figcaption_attachment_28025\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/6\/2019\/05\/LD2.jpg\"><img decoding=\"async\" width=\"886\" height=\"498\" class=\"wp-image-28025\" alt=\"ld2\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2017\/02\/LD2.jpg\" \/><\/a><figcaption id=\"figcaption_attachment_28025\" class=\"wp-caption-text\">&#8216;LaunchDarkly Rollout&#8217; Release Task Configuration<\/figcaption><\/figure><\/p>\n<p>To use all this goodness you&#8217;ll need a service endpoint connected to a LaunchDarkly account. For all of the details and walkthrough of how to set up this extension check out LaunchDarkly&#8217;s <a href=\"http:\/\/docs.launchdarkly.com\/docs\/visual-studio-team-services-extension\">Team Services documentation.<\/a><\/p>\n<h3><span class=\"ux-item-name\"><span class=\"ux-item-name\"><span class=\"ux-item-name\">Redgate ReadyRoll<\/span><\/span><\/span><\/h3>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/6\/2019\/05\/redgate-readyroll1.jpg\"><img decoding=\"async\" width=\"535\" height=\"260\" class=\"size-full wp-image-28045 aligncenter\" alt=\"redgate-readyroll\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2017\/02\/redgate-readyroll1.jpg\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\">See it in the Marketplace: <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=redgatesoftware.redgate-readyroll\">https:\/\/marketplace.visualstudio.com\/items?itemName=redgatesoftware.redgate-readyroll<\/a><\/p>\n<p>This is another 5-star extension and its aim is to eliminate the pain of building and deploying database changes. It does this through numerically ordered SQL migration scripts that take your schema from one version to the next. It also\u00a0comes equipped with a suite of tools for previewing all of the changes before you deploy so you can rest easy.<\/p>\n<h5>Summary of Changes<\/h5>\n<p>As part of your build results you will see a summary of which migration scripts are pending deployment and which objects will be changed.<\/p>\n<p><figure id=\"attachment_28055\" aria-labelledby=\"figcaption_attachment_28055\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/6\/2019\/05\/database_deployment_preview.png\"><img decoding=\"async\" width=\"397\" height=\"347\" class=\"wp-image-28055\" alt=\"database_deployment_preview\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2017\/02\/database_deployment_preview.png\" \/><\/a><figcaption id=\"figcaption_attachment_28055\" class=\"wp-caption-text\">Database Deployment Preview<\/figcaption><\/figure><\/p>\n<h5>Database Diff Report and Deployment Script<\/h5>\n<p>Also as part of the deployment preview your build results will include new tabs showing a database diff report as well as a look at the script that will be deployed to your database.<\/p>\n<p><figure id=\"attachment_28065\" aria-labelledby=\"figcaption_attachment_28065\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/6\/2019\/05\/RR1.png\"><img decoding=\"async\" width=\"409\" height=\"216\" class=\"wp-image-28065 size-full\" alt=\"rr1\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2017\/02\/RR1.png\" \/><\/a><figcaption id=\"figcaption_attachment_28065\" class=\"wp-caption-text\">Database Diff Report<\/figcaption><\/figure><\/p>\n<p><figure id=\"attachment_28075\" aria-labelledby=\"figcaption_attachment_28075\" class=\"wp-caption aligncenter\" ><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/6\/2019\/05\/RR2.png\"><img decoding=\"async\" width=\"412\" height=\"212\" class=\"wp-image-28075 size-full\" alt=\"rr2\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2017\/02\/RR2.png\" \/><\/a><figcaption id=\"figcaption_attachment_28075\" class=\"wp-caption-text\">Database Script Preview<\/figcaption><\/figure><\/p>\n<p>The extension also adds two new tasks<\/p>\n<ul>\n<li><a href=\"https:\/\/documentation.red-gate.com\/display\/RR1\/Tutorial%3A+Visual+Studio+Team+Services#Tutorial:VisualStudioTeamServices-AddaDeployReadyRollDatabasePackagetask\"><strong>Deploy ReadyRoll Database Package<\/strong><\/a>\u00a0&#8211; This deploy task will take the package produced by building a ReadyRoll project and deploy it to a target database.<\/li>\n<li><a href=\"https:\/\/documentation.red-gate.com\/display\/RR1\/Tutorial%3A+Visual+Studio+Team+Services#Tutorial:VisualStudioTeamServices-AddaRuntSQLtTeststask(optional)\"><strong>Run tSQLt tests<\/strong><\/a>\u00a0&#8211; This test task will run any tSQLt tests present in a database and output the results as a jUnit compatible file.<\/li>\n<\/ul>\n<p>Redgate has a good tutorial with all of the details and steps you need to take to get off the ground and moving with this SQL deployment must have, check it out here: <a href=\"https:\/\/documentation.red-gate.com\/display\/RR1\/Tutorial%3A+Visual+Studio+Team+Services\">https:\/\/documentation.red-gate.com\/display\/RR1\/Tutorial%3A+Visual+Studio+Team+Services<\/a><\/p>\n<h3>Are you using (or building)\u00a0an extension you think should be featured here?<\/h3>\n<p>I&#8217;ll be on the lookout for extensions to feature in the future, so if you&#8217;d like to see yours (or someone else&#8217;s)\u00a0here, then let me know on Twitter!<\/p>\n<p><a href=\"https:\/\/twitter.com\/JoeB_in_NC\">@JoeB_in_NC<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>February is coming to a close and it has been the best month on record for the Team Services Extension ecosystem. We&#8217;ve set new records for customer installs and our community of publishers continues to grow.\u00a0One of my favorite parts of\u00a0this job is the relationship I get to build with our publishers. Seeing their investment [&hellip;]<\/p>\n","protected":false},"author":212,"featured_media":45953,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-27995","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops"],"acf":[],"blog_post_summary":"<p>February is coming to a close and it has been the best month on record for the Team Services Extension ecosystem. We&#8217;ve set new records for customer installs and our community of publishers continues to grow.\u00a0One of my favorite parts of\u00a0this job is the relationship I get to build with our publishers. Seeing their investment [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/27995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/users\/212"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/comments?post=27995"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/27995\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media\/45953"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media?parent=27995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/categories?post=27995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/tags?post=27995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}