Trigger Multi-Tenant Deployment

Octopus.Script exported 2019-04-10 by bobjwalker belongs to ‘Tenants’ category.

A step template that triggers Multi-Tenant Deployment. It can be used in not-tenanted projects. The step will lookup most recent release for the specified project if a specific version is not provided. Then it will lookup all tenants that are tagged with the specified tag and create a new deployment for each of the tenants. This will result in multiple tasks scheduled in Octopus. The step is not tracking status of deployment tasks execution.

Hypothetical use-case:

  • A multi-tenanted system deployed (as a monoliths) with a non-tenanted Octopus Deploy process.
  • Use this step to start a smoke test for several customers from such a not-tenanted deployment. In this case tenants can be used to represent different customers. This way each customer-specific parameters (access URLs, credentials, etc.) can be configured on tenants level.

Parameters

When steps based on the template are included in a project’s deployment process, the parameters below can be set.

Octopus API URL

OctopusAPIurl = #{Octopus.Dashboard.BaseUrl}/api

null

Octopus API Key

OctopusAPIkey = #{Octopus.API.key}

null

Multi-Tenant Project Name

MultiTenantProjectName =

null

Release Number

ReleaseNumber =

Release number of the Multi-tenant project. Leave empty to use most recent release of the project.

Environment Name

EnvironmentName = #{Octopus.Environment.Name}

null

Tenants Selection Tag

TenantsTag =

Required. Expected format: /

Script body

Steps based on this template will execute the following PowerShell script.

function TriggerMultitenantDeployment {
		### Steps: 
		###    1. find most recent release of the Multi-tenanted project by project name if Release Number (2) parameter is empty
		###    2. locate all the tenants for specified tag
		###    3. for each tenant create a new deployment for the found release with the parameters

    param
    (
        [ValidateNotNullOrEmpty()]
        [Parameter(Mandatory = $true)]
        [string]$apiUrl,
        [ValidateNotNullOrEmpty()]
        [Parameter(Mandatory = $true)]
        [string]$apiKey,
        [ValidateNotNullOrEmpty()]
        [Parameter(Mandatory = $true)]
        [string]$projectName,
        [Parameter(Mandatory = $false)]
        [string]$releaseNumber = '',
        [ValidateNotNullOrEmpty()]
        [Parameter(Mandatory = $true)]
        [string]$environmentName,
        [ValidateNotNullOrEmpty()]
        [Parameter(Mandatory = $true)]
        [string]$tenantsTag
    )
			

		$errors=0
		$headers = @{"X-Octopus-ApiKey"=$apiKey}
		
		$initiator = "#{Octopus.Deployment.CreatedBy.Username}"

		Write-Host "### TriggerMultiTenantedDeployment parameters:"
		Write-Host "###`tAPI URL: [$($apiUrl)]"
		if($debug) {
			Write-Host "###`tAPI Key: [$($apiKey)]"
		}
		Write-Host "###`tProject Name: [$($projectName)]"
		Write-Host "###`tRelease Number: [$($releaseNumber)]"
		Write-Host "###`tEnvironment: [$($environmentName)]"
		Write-Host "###`tTenants Tag Name: [$($tenantsTag)]"
		Write-Host "###`tInitiator: [$($initiator)]"

		try {
			if (-Not ($tenantsTag -match '\w+/\w+'))
			{
				Write-Error "### Tenants Tag Name must be in format 'TenantTagSet/TenantTag'"
				$errors=1
			}
			$projects = Invoke-RestMethod -Method GET -Uri $apiUrl/projects/all -Headers $headers 
			$project = $projects | where Name -eq $projectName
			if (-Not $project) {
				Write-Error "### Could not find project with name [$($projectName)]."
				$errors=1
			}
            $projectUrl="$($apiUrl)/projects/$($project.Id)/releases"
			$releases = Invoke-RestMethod -Method GET -Uri $projectUrl -Headers $headers | select -expand Items
			$mostRecentRelease = $releases | Sort-Object -Descending -Property { [int]($_.Version -replace "\.") } | Select -First 1
			$release = $releases | where Version -eq $releaseNumber | Select -First 1
			if (-Not ($release)) {
				$release=$mostRecentRelease
				Write-Host "### Selected most recent release [$($release.Version)]."
			}
			if(-Not $release) {
				if($releaseNumber) {
					Write-Error "### Could not find release [$($releaseNumber)]for project with name [$($projectName)]."
				} else {
					Write-Error "### Could not find any releases for project with name [$($projectName)]."
				}
				$errors=1
			}
			$environments = Invoke-RestMethod -Method GET -Uri $apiUrl/environments/all -Headers $headers
			$environment =  $environments | where Name -eq $environmentName
			if(-Not $environment){
				Write-Error "### Could not find environment [$($environmentName)] for project with name [$($projectName)]."
				$errors=1
			}
			$tenants = Invoke-RestMethod -Method GET -Uri $apiUrl/tenants/all -Headers $headers 
			$selectedTenants = $tenants | where TenantTags -Contains $tenantsTag
			if(-Not $selectedTenants){
				Write-Error "### Could not find any tenants with tag [$($tenantsTag)]."
				$errors=1
			}
			if($errors)
			{
				Fail-Step "### Encoutered an error. See log for more details. Interrupting the task."
			}

			if ($debug){
				Write-Host "##Project##: " $project
				Write-Host "##Project.Id##: " $projectId
				Write-Host "##LifeCycleId##: " $lifeCycleId
				Write-Host "##Release##: " $release
				Write-Host "##ReleaseId##: " $release.Id
				Write-Host "##ChannelId##: " $release.channelId
				Write-Host "##TenantsTag##: " $tag.Id $tag.CanonicalTagName
				Write-Host "##SelectedTenants##: " $selectedTenants.Count
			}

			foreach($tenant in $selectedTenants) {
				$deploymentJson = "{`"ProjectId`":`"$($projectId)`",`"ReleaseId`":`"$($release.Id)`",`"EnvironmentId`":`"$($environment.Id)`",`"ChannelId`":`"$($release.channelId)`",`"TenantId`":`"$($tenant.Id)`",`"Comments`":`"Initiated by $($initiator)`"}"
			
				if($debug) { Write-Host "##DeploymentJson##: $($deploymentJson)" }
				
				$deployment = Invoke-RestMethod -Method POST -Uri $apiUrl/deployments -Headers $headers -Body $deploymentJson
				Write-Host "### Created new deployment for $($tenant.Name): [$($deployment)]."
				Write-Host "### Deployment for release [$($project.Name) $($release.Version)], tenant [$($tenant.Name)] in [$($environmentName)] environment was created and scheduled successfuly."
			}
			exit
		} Catch {
			Write-Error "### Failed to complete deployment for " $projectName "to" $environmentName "for" $tenantsTag
			throw $_
		}
}


	TriggerMultitenantDeployment -apiUrl $OctopusAPIurl -apiKey $OctopusAPIkey -projectName $MultiTenantProjectName -environmentName $EnvironmentName -releaseNumber $ReleaseNumber -tenantsTag $TenantsTag

Provided under the Apache License version 2.0.

Report an issue

To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.

{
  "Id": "053c7adc-f31f-42e1-b7c7-671d3df55ab2",
  "Name": "Trigger Multi-Tenant Deployment",
  "Description": "A step template that triggers Multi-Tenant Deployment. It can be used in not-tenanted projects. The step will lookup most recent release for the specified project if a specific version is not provided. Then it will lookup all tenants that are tagged with the specified tag and create a new deployment for each of the tenants. This will result in multiple tasks scheduled in Octopus. The step is not tracking status of deployment tasks execution.\n\nHypothetical use-case: \n * A multi-tenanted system deployed (as a monoliths) with a non-tenanted Octopus Deploy process.\n * Use this step to start a smoke test for several customers from such a not-tenanted deployment. In this case tenants can be used to represent different customers. This way each customer-specific parameters (access URLs, credentials, etc.) can be configured on tenants level.",
  "Version": 2,
  "ExportedAt": "2019-04-10T20:41:22.620Z",
  "ActionType": "Octopus.Script",
  "Author": "bobjwalker",
  "Packages": [],
  "Parameters": [
    {
      "Id": "f488f5a8-eafc-4da8-97ea-66cc01dfb39e",
      "Name": "OctopusAPIurl",
      "Label": "Octopus API URL",
      "HelpText": null,
      "DefaultValue": "#{Octopus.Dashboard.BaseUrl}/api",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      }
    },
    {
      "Id": "9a4af3e2-340e-4e2f-9529-c160a491cc41",
      "Name": "OctopusAPIkey",
      "Label": "Octopus API Key",
      "HelpText": null,
      "DefaultValue": "#{Octopus.API.key}",
      "DisplaySettings": {
        "Octopus.ControlType": "Sensitive"
      }
    },
    {
      "Id": "dd89222e-662d-4e63-a6a6-260ec6495547",
      "Name": "MultiTenantProjectName",
      "Label": "Multi-Tenant Project Name",
      "HelpText": null,
      "DefaultValue": "",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      }
    },
    {
      "Id": "8447f3fc-c8ed-44e3-ab2f-932981160ea8",
      "Name": "ReleaseNumber",
      "Label": "Release Number",
      "HelpText": "Release number of the Multi-tenant project. Leave empty to use most recent release of the project.",
      "DefaultValue": "",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      }
    },
    {
      "Id": "50ece5fe-7650-491f-9e0a-e9e521b14799",
      "Name": "EnvironmentName",
      "Label": "Environment Name",
      "HelpText": null,
      "DefaultValue": "#{Octopus.Environment.Name}",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      }
    },
    {
      "Id": "e1657396-4221-4fcf-84a1-9fe130263cc4",
      "Name": "TenantsTag",
      "Label": "Tenants Selection Tag",
      "HelpText": "Required. Expected format: <TenantTagSetName>/<TenantTagName>",
      "DefaultValue": "",
      "DisplaySettings": {
        "Octopus.ControlType": "SingleLineText"
      }
    }
  ],
  "Properties": {
    "Octopus.Action.Script.ScriptSource": "Inline",
    "Octopus.Action.Script.Syntax": "PowerShell",
    "Octopus.Action.Script.ScriptBody": "function TriggerMultitenantDeployment {\n\t\t### Steps: \n\t\t###    1. find most recent release of the Multi-tenanted project by project name if Release Number (2) parameter is empty\n\t\t###    2. locate all the tenants for specified tag\n\t\t###    3. for each tenant create a new deployment for the found release with the parameters\n\n    param\n    (\n        [ValidateNotNullOrEmpty()]\n        [Parameter(Mandatory = $true)]\n        [string]$apiUrl,\n        [ValidateNotNullOrEmpty()]\n        [Parameter(Mandatory = $true)]\n        [string]$apiKey,\n        [ValidateNotNullOrEmpty()]\n        [Parameter(Mandatory = $true)]\n        [string]$projectName,\n        [Parameter(Mandatory = $false)]\n        [string]$releaseNumber = '',\n        [ValidateNotNullOrEmpty()]\n        [Parameter(Mandatory = $true)]\n        [string]$environmentName,\n        [ValidateNotNullOrEmpty()]\n        [Parameter(Mandatory = $true)]\n        [string]$tenantsTag\n    )\n\t\t\t\n\n\t\t$errors=0\n\t\t$headers = @{\"X-Octopus-ApiKey\"=$apiKey}\n\t\t\n\t\t$initiator = \"#{Octopus.Deployment.CreatedBy.Username}\"\n\n\t\tWrite-Host \"### TriggerMultiTenantedDeployment parameters:\"\n\t\tWrite-Host \"###`tAPI URL: [$($apiUrl)]\"\n\t\tif($debug) {\n\t\t\tWrite-Host \"###`tAPI Key: [$($apiKey)]\"\n\t\t}\n\t\tWrite-Host \"###`tProject Name: [$($projectName)]\"\n\t\tWrite-Host \"###`tRelease Number: [$($releaseNumber)]\"\n\t\tWrite-Host \"###`tEnvironment: [$($environmentName)]\"\n\t\tWrite-Host \"###`tTenants Tag Name: [$($tenantsTag)]\"\n\t\tWrite-Host \"###`tInitiator: [$($initiator)]\"\n\n\t\ttry {\n\t\t\tif (-Not ($tenantsTag -match '\\w+/\\w+'))\n\t\t\t{\n\t\t\t\tWrite-Error \"### Tenants Tag Name must be in format 'TenantTagSet/TenantTag'\"\n\t\t\t\t$errors=1\n\t\t\t}\n\t\t\t$projects = Invoke-RestMethod -Method GET -Uri $apiUrl/projects/all -Headers $headers \n\t\t\t$project = $projects | where Name -eq $projectName\n\t\t\tif (-Not $project) {\n\t\t\t\tWrite-Error \"### Could not find project with name [$($projectName)].\"\n\t\t\t\t$errors=1\n\t\t\t}\n            $projectUrl=\"$($apiUrl)/projects/$($project.Id)/releases\"\n\t\t\t$releases = Invoke-RestMethod -Method GET -Uri $projectUrl -Headers $headers | select -expand Items\n\t\t\t$mostRecentRelease = $releases | Sort-Object -Descending -Property { [int]($_.Version -replace \"\\.\") } | Select -First 1\n\t\t\t$release = $releases | where Version -eq $releaseNumber | Select -First 1\n\t\t\tif (-Not ($release)) {\n\t\t\t\t$release=$mostRecentRelease\n\t\t\t\tWrite-Host \"### Selected most recent release [$($release.Version)].\"\n\t\t\t}\n\t\t\tif(-Not $release) {\n\t\t\t\tif($releaseNumber) {\n\t\t\t\t\tWrite-Error \"### Could not find release [$($releaseNumber)]for project with name [$($projectName)].\"\n\t\t\t\t} else {\n\t\t\t\t\tWrite-Error \"### Could not find any releases for project with name [$($projectName)].\"\n\t\t\t\t}\n\t\t\t\t$errors=1\n\t\t\t}\n\t\t\t$environments = Invoke-RestMethod -Method GET -Uri $apiUrl/environments/all -Headers $headers\n\t\t\t$environment =  $environments | where Name -eq $environmentName\n\t\t\tif(-Not $environment){\n\t\t\t\tWrite-Error \"### Could not find environment [$($environmentName)] for project with name [$($projectName)].\"\n\t\t\t\t$errors=1\n\t\t\t}\n\t\t\t$tenants = Invoke-RestMethod -Method GET -Uri $apiUrl/tenants/all -Headers $headers \n\t\t\t$selectedTenants = $tenants | where TenantTags -Contains $tenantsTag\n\t\t\tif(-Not $selectedTenants){\n\t\t\t\tWrite-Error \"### Could not find any tenants with tag [$($tenantsTag)].\"\n\t\t\t\t$errors=1\n\t\t\t}\n\t\t\tif($errors)\n\t\t\t{\n\t\t\t\tFail-Step \"### Encoutered an error. See log for more details. Interrupting the task.\"\n\t\t\t}\n\n\t\t\tif ($debug){\n\t\t\t\tWrite-Host \"##Project##: \" $project\n\t\t\t\tWrite-Host \"##Project.Id##: \" $projectId\n\t\t\t\tWrite-Host \"##LifeCycleId##: \" $lifeCycleId\n\t\t\t\tWrite-Host \"##Release##: \" $release\n\t\t\t\tWrite-Host \"##ReleaseId##: \" $release.Id\n\t\t\t\tWrite-Host \"##ChannelId##: \" $release.channelId\n\t\t\t\tWrite-Host \"##TenantsTag##: \" $tag.Id $tag.CanonicalTagName\n\t\t\t\tWrite-Host \"##SelectedTenants##: \" $selectedTenants.Count\n\t\t\t}\n\n\t\t\tforeach($tenant in $selectedTenants) {\n\t\t\t\t$deploymentJson = \"{`\"ProjectId`\":`\"$($projectId)`\",`\"ReleaseId`\":`\"$($release.Id)`\",`\"EnvironmentId`\":`\"$($environment.Id)`\",`\"ChannelId`\":`\"$($release.channelId)`\",`\"TenantId`\":`\"$($tenant.Id)`\",`\"Comments`\":`\"Initiated by $($initiator)`\"}\"\n\t\t\t\n\t\t\t\tif($debug) { Write-Host \"##DeploymentJson##: $($deploymentJson)\" }\n\t\t\t\t\n\t\t\t\t$deployment = Invoke-RestMethod -Method POST -Uri $apiUrl/deployments -Headers $headers -Body $deploymentJson\n\t\t\t\tWrite-Host \"### Created new deployment for $($tenant.Name): [$($deployment)].\"\n\t\t\t\tWrite-Host \"### Deployment for release [$($project.Name) $($release.Version)], tenant [$($tenant.Name)] in [$($environmentName)] environment was created and scheduled successfuly.\"\n\t\t\t}\n\t\t\texit\n\t\t} Catch {\n\t\t\tWrite-Error \"### Failed to complete deployment for \" $projectName \"to\" $environmentName \"for\" $tenantsTag\n\t\t\tthrow $_\n\t\t}\n}\n\n\n\tTriggerMultitenantDeployment -apiUrl $OctopusAPIurl -apiKey $OctopusAPIkey -projectName $MultiTenantProjectName -environmentName $EnvironmentName -releaseNumber $ReleaseNumber -tenantsTag $TenantsTag\n",
    "Octopus.Action.SubstituteInFiles.Enabled": "True",
    "Octopus.Action.EnabledFeatures": "Octopus.Features.SubstituteInFiles"
  },
  "Category": "Tenants",
  "HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/trigger-multitenant-deployment.json",
  "Website": "/step-templates/053c7adc-f31f-42e1-b7c7-671d3df55ab2",
  "Logo": "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",
  "$Meta": {
    "Type": "ActionTemplate"
  }
}

History

Page updated on Wednesday, April 10, 2019