Skip to content

Creating a new release

Chrissy LeMaire edited this page Jan 4, 2017 · 8 revisions

Here's my process for creating a new release, which generally takes 4-8 hours.

Gathering info

  • Go to the releases page and find the date of the last release
  • Edit the last release and copy/paste the code into a new draft release. Keep tab open.
  • Go to the compare page to see what's been committed since last time or I use GitHub for Windows history of the development branch (usually)

  • Determine what significant bug fixes have been made. What constitutes significant? Check out our last few releases to see
  • Check out dbatools.psd1 in the development branch. See what's been added to FunctionsToExport since the last release. Note that not all commands listed in FunctionsToExport will have made it to the dev branch, yet. No big deal

Staging the WordPress Pages

  • Check the drafts on dbatools.io to make sure no drafts for the page already exist
  • Create a bunch of draft pages for all the new commands, using a previous command's raw code
Get-DbaRoleMember
--------------

Get members of all roles on a SQL instance. Default output includes columns SqlServer, Database, Role, Member.

### Screenshots

![Get-DbaRoleMember](https://dbatools.io/wp-content/uploads/2016/12/img_5851610a13d3b-full.png)

### Examples

To return a custom object displaying SQLServer, Database, Role, Member for all DatabaseRoles.

> Get-DbaRoleMember -SqlServer ServerA

To return a gridview displaying SQLServer, Database, Role, Member for all DatabaseRoles.

> Get-DbaRoleMember -SqlServer sql2016 | Out-Gridview

To return a gridview displaying SQLServer, Database, Role, Member for both ServerRoles and DatabaseRoles.

> Get-DbaRoleMember -SqlServer ServerA\sql987 -IncludeServerLevel

### References
* [If this command had a reference, it'd be listed at the top and/or here at the bottom](https://powershell.org/sql-server-powershell-help-page)

### Author
This command was created by Klaas Vandenberghe. You can find Klaas on [Twitter](https://twitter.com/powerdbaklaas) and [his blog](http://finn.rivendel.be/).
  • Note, this is a WordPress Page and not a Post. Posts are blog posts, and pages are our help pages
  • All Help Pages are named after their command, nothing more, nothing less. In the case for the command above, the post's title would be Get-DbaRoleMember
  • Page attributes must be edited to ensure the page shows up where it's expected and looks like it's expected

Creating the command's page

  • Switch to the dev branch within the local repo
  • The help page intro is generally a combination of the command's SYNOPSIS, DESCRIPTION and anything else important.
  • Paste a few, if not all, EXAMPLES and reorder them to be like "To do this" or "To do that", unlike Help pages which discuss the action after the fact
  • Run all examples to ensure the command works as prescribed or should work (sometimes I add some stylings of things look like they're missing)
  • Make a useful screenshot. Usually with 2-4 examples, depending. I use Snagit 13 and just paste my clipboard into the WordPress editor, thanks to a plugin I bought
  • The screenshot usually happens after I got the command to work exactly as I'd like so there's a whole lot of opening/closing Powershell/rerunning commands
  • I prefer screenshots from Windows 10 vanilla theme but beggars won't be choosers

Note

You'll notice that on a day of release, I'll generally commit like 20 changes. These are improvements in documentation/grammar or simple bug fixes. Most bug fixes should be simple because this should have gone through the whole testing process prior, so really, it tends to be doc wording or the changing of output column names.

Making the blog post

With the announcement blog post, I go to a previous post (one example | another example) and copy/paste/edit.

I check the number of contributors, count up the commands, and pass on any other interesting info.

I keep the descriptions of each of the commands pretty short because I'm already exhausted. I then double-check that all of the links work because the newsletter goes out to like 130 people.

I'd be happy and relieved any other member of the team to send out the blog post, but please pass it by me first for editing.

Oh, and it needs the proper Featured Image. The proper featured image is dbatools-for-post.png in the media library, next to the pic of beer and Dan. It was uploaded around July 28th.

Creating the release

Once master is settled and beautiful and I'm confident with the new PR in master, I'll create the actual release.

  • All new commands are linked using the template created in step 2 in "Gathering Info" (not necessarily all new commands in psd1, but the ones that actually exist and run)
  • Add selected bug fixes
  • The tag of the version is the version listed in .psd1, ensure it's higher than the version listed in the dbatools version on PowerShell Gallery
  • Release title is something from Rick and Morty. If you aren't familiar or would like to name it, ask me or ck.
  • No need to attach any binaries -- GitHub does what we need
  • Save draft and ask me to check it out or Publish if I'm not around for too long

Publishing to PowerShell Gallery - dbatools.io/gallery

Let me know ahead of time and I'll give you the API key or let me know when the release is ready and I'll do it then.

Editing dbatools.io/commands

Then I take each of the new commands and add them to the commands page. I try to make it all line up, but I don't get super obsessed (only slightly obsessed).