deploy-module.ps1
Param ( [parameter(Mandatory=$true)] [ValidateSet("Major", "Minor", "BugFix")] [String] $ReleaseType ) $ErrorActionPreference = "Stop" switch ($ReleaseType) { "Major" { $position = 0; break} "Minor" { $position = 1; break} "BugFix" { $position = 2; break} Default {} } [xml]$XML = Get-Content -Path ".\crm-ci.nuspec" $v = $XML.package.metadata.version.Split(".") $v[$position] = [int]$v[$position] + 1 $vstring = $v -join "." $XML.package.metadata.version = $vstring $XML.Save(".\crm-ci.nuspec") Update-ModuleManifest -Path ".\crm-ci.psd1" -ModuleVersion $vstring $cred = Get-Credential -UserName $env:USERNAME -Message "Credentials for EMSCRIPT" $content = Get-Content .env $content | ForEach-Object { $str = $_.split("=") New-Variable -Name $str[0] -Value $str[1] -Force } if (Test-Path $localmodule) { Remove-Item $localmodule -Force } Copy-Item $PSScriptRoot 'C:\Program Files\WindowsPowerShell\Modules' -Recurse & nuget pack -basepath $localmodule -outputdirectory $localmodule | Write-Host Publish-Module -Name crm-ci -Repository PSGallery -NuGetApiKey $nugetapikey Invoke-Command -ComputerName $computername -Credential $cred -ScriptBlock {C:\repos\em-scripts\update-modules.ps1} |