Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 19 additions & 1 deletion .azuredevops/pipelineTemplates/module.jobs.deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,26 @@ jobs:
# Load used functions
. (Join-Path '$(System.DefaultWorkingDirectory)' 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1')

# Define PS modules to install on the runner
$Modules = @(
@{ Name = 'Az.Accounts' },
@{ Name = 'Az.Resources' }
)

# Additional PS modules need to be installed for the removal step in case it is enabled
if ('${{ parameters.removeDeployment}}' -eq 'true') {
$Modules += @(
@{ Name = 'Az.CognitiveServices' },
@{ Name = 'Az.Compute' },
@{ Name = 'Az.KeyVault' },
@{ Name = 'Az.Monitor' },
@{ Name = 'Az.OperationalInsights' },
@{ Name = 'Az.RecoveryServices' }
)
}

# Set agent up
Set-EnvironmentOnAgent
Set-EnvironmentOnAgent -PSModules $Modules

# [Multi Repo] Support task
#--------------------------
Expand Down
9 changes: 8 additions & 1 deletion .azuredevops/pipelineTemplates/module.jobs.publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,15 @@ jobs:
# Load used functions
. (Join-Path '$(System.DefaultWorkingDirectory)' 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1')

# Define PS modules to install on the runner
$Modules = @(
@{ Name = 'Az.Accounts' },
@{ Name = 'Az.ContainerRegistry' },
@{ Name = 'Az.Resources' }
)

# Set agent up
Set-EnvironmentOnAgent
Set-EnvironmentOnAgent -PSModules $Modules

# [Multi Repo] Support task
#--------------------------
Expand Down
9 changes: 8 additions & 1 deletion .azuredevops/pipelineTemplates/module.jobs.validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,15 @@ jobs:
# Load used functions
. (Join-Path '$(moduleRepoRoot)' 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1')

# Define PS modules to install on the runner
$Modules = @(
# This is the latest tested Pester version. Uncomment the next line in case of a future breaking change in the default version installed on the runner.
# @{ Name = 'Pester'; Version = '5.3.1' }
@{ Name = 'Az.Resources' }
)

# Set agent up
Set-EnvironmentOnAgent
Set-EnvironmentOnAgent -PSModules $Modules

# [Module Pester Test] task(s)
#-----------------------------
Expand Down
9 changes: 8 additions & 1 deletion .github/actions/templates/publishModule/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,15 @@ runs:
# Load used functions
. (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1')

# Define PS modules to install on the runner
$Modules = @(
@{ Name = 'Az.Accounts' },
@{ Name = 'Az.ContainerRegistry' },
@{ Name = 'Az.Resources' }
)

# Set agent up
Set-EnvironmentOnAgent
Set-EnvironmentOnAgent -PSModules $Modules

- name: Azure Login
uses: Azure/login@v1
Expand Down
20 changes: 19 additions & 1 deletion .github/actions/templates/validateModuleDeployment/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,26 @@ runs:
# Load used functions
. (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1')

# Define PS modules to install on the runner
$Modules = @(
@{ Name = 'Az.Accounts' },
@{ Name = 'Az.Resources' }
)

# Additional PS modules need to be installed for the removal step in case it is enabled
if ('${{ inputs.removeDeployment}}' -eq 'true') {
$Modules += @(
@{ Name = 'Az.CognitiveServices' },
@{ Name = 'Az.Compute' },
@{ Name = 'Az.KeyVault' },
@{ Name = 'Az.Monitor' },
@{ Name = 'Az.OperationalInsights' },
@{ Name = 'Az.RecoveryServices' }
)
}

# Set agent up
Set-EnvironmentOnAgent
Set-EnvironmentOnAgent -PSModules $Modules
- name: Azure Login
uses: Azure/login@v1
with:
Expand Down
9 changes: 8 additions & 1 deletion .github/actions/templates/validateModulePester/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,15 @@ runs:
# Load used functions
. (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'sharedScripts' 'Set-EnvironmentOnAgent.ps1')

# Define PS modules to install on the runner
$Modules = @(
# This is the latest tested Pester version. Uncomment the next line in case of a future breaking change in the default version installed on the runner.
# @{ Name = 'Pester'; Version = '5.3.1' }
@{ Name = 'Az.Resources' }
)

# Set agent up
Set-EnvironmentOnAgent
Set-EnvironmentOnAgent -PSModules $Modules

- name: Azure Login
uses: Azure/login@v1
Expand Down
39 changes: 19 additions & 20 deletions utilities/pipelines/sharedScripts/Set-EnvironmentOnAgent.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,24 @@ Configure the current agent
.DESCRIPTION
Configure the current agent with e.g. the necessary PowerShell modules.

.PARAMETER Modules
Optional. The PowerShell modules that should be installed on the agent. Installs default set if not provided.
@{
Name = 'Name'
Version = '1.0.0' # Optional
}
.PARAMETER PSModules
Optional. The PowerShell modules that should be installed on the agent.

@(
@{ Name = 'Az.Accounts' },
@{ Name = 'Az.Compute' },
@{ Name = 'Az.Resources' },
@{ Name = 'Az.ContainerRegistry' },
@{ Name = 'Az.KeyVault' },
@{ Name = 'Az.RecoveryServices' },
@{ Name = 'Az.Monitor' },
@{ Name = 'Az.CognitiveServices' },
@{ Name = 'Az.OperationalInsights' },
@{
Name = 'Pester'
Version = '5.3.1' # Version is optional
}
)

.EXAMPLE
Set-EnvironmentOnAgent
Expand All @@ -95,20 +107,7 @@ function Set-EnvironmentOnAgent {
[CmdletBinding()]
param (
[Parameter(Mandatory = $false)]
[Hashtable[]] $Modules = @(
@{ Name = 'Az.Accounts' },
@{ Name = 'Az.Compute' },
@{ Name = 'Az.Resources' },
@{ Name = 'Az.NetAppFiles' },
@{ Name = 'Az.Network' },
@{ Name = 'Az.ContainerRegistry' },
@{ Name = 'Az.KeyVault' },
@{ Name = 'Az.RecoveryServices' },
@{ Name = 'Az.Monitor' },
@{ Name = 'Az.CognitiveServices' },
@{ Name = 'Az.OperationalInsights' },
@{ Name = 'Pester'; Version = '5.3.0' }
)
[Hashtable[]] $PSModules = @()
)

###########################
Expand Down