mirror of
https://github.com/benclaussen/NetboxPS.git
synced 2025-12-13 18:02:29 +00:00
Update deploy.ps1
This commit is contained in:
parent
43b628a736
commit
de9b616093
1 changed files with 97 additions and 24 deletions
121
deploy.ps1
121
deploy.ps1
|
|
@ -1,45 +1,118 @@
|
||||||
<#
|
<#
|
||||||
.NOTES
|
.SYNOPSIS
|
||||||
===========================================================================
|
A brief description of the Invoke-deploy_ps1 file.
|
||||||
Created with: SAPIEN Technologies, Inc., PowerShell Studio 2020 v5.7.174
|
|
||||||
Created on: 4/9/2020 09:43
|
.DESCRIPTION
|
||||||
Created by: Claussen
|
A description of the file.
|
||||||
Organization: NEOnet
|
|
||||||
Filename: deploy.ps1
|
.PARAMETER SkipVersion
|
||||||
===========================================================================
|
A description of the SkipVersion parameter.
|
||||||
.DESCRIPTION
|
|
||||||
A description of the file.
|
.PARAMETER VersionIncrease
|
||||||
|
A description of the VersionIncrease parameter.
|
||||||
|
|
||||||
|
.PARAMETER NewVersion
|
||||||
|
A description of the NewVersion parameter.
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
===========================================================================
|
||||||
|
Created with: SAPIEN Technologies, Inc., PowerShell Studio 2020 v5.7.174
|
||||||
|
Created on: 4/9/2020 09:43
|
||||||
|
Created by: Claussen
|
||||||
|
Organization: NEOnet
|
||||||
|
Filename: deploy.ps1
|
||||||
|
===========================================================================
|
||||||
#>
|
#>
|
||||||
|
[CmdletBinding(DefaultParameterSetName = 'IncreaseVersion')]
|
||||||
|
param
|
||||||
|
(
|
||||||
|
[Parameter(ParameterSetName = 'SkipVersion')]
|
||||||
|
[switch]$SkipVersion,
|
||||||
|
|
||||||
|
[Parameter(ParameterSetName = 'IncreaseVersion')]
|
||||||
|
[version]$VersionIncrease = "0.0.1",
|
||||||
|
|
||||||
|
[Parameter(ParameterSetName = 'SetVersion')]
|
||||||
|
[version]$NewVersion
|
||||||
|
)
|
||||||
|
|
||||||
Write-Host "Beginning deployment" -ForegroundColor Green
|
Write-Host "Beginning deployment" -ForegroundColor Green
|
||||||
|
|
||||||
|
$ModuleName = 'NetboxPS'
|
||||||
|
$ConcatenatedFilePath = "$PSScriptRoot\concatenated.ps1"
|
||||||
|
$PSD1OutputPath = "$PSScriptRoot\dist\$ModuleName.psd1"
|
||||||
|
$PSM1OutputPath = "$PSScriptRoot\dist\$ModuleName.psm1"
|
||||||
|
|
||||||
$PS1Files = Get-ChildItem "$PSScriptRoot\Functions" -Filter "*.ps1" -Recurse | Sort-Object Name
|
$PS1Files = Get-ChildItem "$PSScriptRoot\Functions" -Filter "*.ps1" -Recurse | Sort-Object Name
|
||||||
|
|
||||||
"" | Out-File -FilePath .\concatenated.ps1 -Encoding utf8
|
"" | Out-File -FilePath $ConcatenatedFilePath -Encoding utf8
|
||||||
|
|
||||||
$Counter = 0
|
$Counter = 0
|
||||||
|
Write-Host "Concatenating [$($PS1Files.Count)] PS1 files from $PSScriptRoot\Functions"
|
||||||
foreach ($File in $PS1Files) {
|
foreach ($File in $PS1Files) {
|
||||||
$Counter++
|
$Counter++
|
||||||
Write-Host (" Adding file {0:D2}/{1:D2}: $($File.Name)" -f $Counter, $PS1Files.Count)
|
|
||||||
|
|
||||||
"`r`n#region File $($File.Name)`r`n" | Out-File -FilePath .\concatenated.ps1 -Encoding utf8 -Append
|
try {
|
||||||
|
Write-Host (" Adding file {0:D2}/{1:D2}: $($File.Name)" -f $Counter, $PS1Files.Count)
|
||||||
Get-Content $File.FullName -Encoding UTF8 | Out-File -FilePath .\concatenated.ps1 -Encoding utf8 -Append
|
|
||||||
|
"`r`n#region File $($File.Name)`r`n" | Out-File -FilePath $ConcatenatedFilePath -Encoding utf8 -Append
|
||||||
"`r`n#endregion" | Out-File -FilePath .\concatenated.ps1 -Encoding utf8 -Append
|
|
||||||
|
Get-Content $File.FullName -Encoding UTF8 | Out-File -FilePath $ConcatenatedFilePath -Encoding utf8 -Append
|
||||||
|
|
||||||
|
"`r`n#endregion" | Out-File -FilePath $ConcatenatedFilePath -Encoding utf8 -Append
|
||||||
|
} catch {
|
||||||
|
Write-Host "FAILED TO WRITE CONCATENATED FILE: $($_.Exception.Message): $($_.TargetObject)" -ForegroundColor Red
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
"" | Out-File -FilePath .\concatenated.ps1 -Encoding utf8 -Append
|
"" | Out-File -FilePath $ConcatenatedFilePath -Encoding utf8 -Append
|
||||||
|
|
||||||
Write-Host " Adding psm1"
|
Write-Host " Adding psm1"
|
||||||
Get-Content .\NetboxPS.psm1 | Out-File -FilePath .\concatenated.ps1 -Encoding UTF8 -Append
|
Get-Content "$PSScriptRoot\$ModuleName.psm1" | Out-File -FilePath $ConcatenatedFilePath -Encoding UTF8 -Append
|
||||||
|
|
||||||
|
$PSDManifest = Import-PowerShellDataFile -Path "$PSScriptRoot\$ModuleName.psd1"
|
||||||
|
# Get the version from the PSD1
|
||||||
|
#[version]$CurrentVersion = [regex]::matches($PSDContent, "\s*ModuleVersion\s=\s'(\d*.\d*.\d*)'\s*").groups[1].value
|
||||||
|
[version]$CurrentVersion = $PSDManifest.ModuleVersion
|
||||||
|
|
||||||
|
|
||||||
|
switch ($PSCmdlet.ParameterSetName) {
|
||||||
|
"SkipVersion" {
|
||||||
|
# Dont do anything with the PSD
|
||||||
|
Write-Host " Skipping version update, maintaining version [$CurrentVersion]"
|
||||||
|
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
"IncreaseVersion" {
|
||||||
|
# Calculate the new version
|
||||||
|
[version]$NewVersion = "{0}.{1}.{2}" -f ($CurrentVersion.Major + $VersionIncrease.Major), ($CurrentVersion.Minor + $VersionIncrease.Minor), ($CurrentVersion.Build + $VersionIncrease.Build)
|
||||||
|
|
||||||
|
Write-Host " Updating version in PSD1 from [$CurrentVersion] to [$NewVersion]"
|
||||||
|
|
||||||
|
# Replace the version number in the content
|
||||||
|
#$PSDContent -replace $CurrentVersion, $NewVersion | Out-File $PSScriptRoot\$ModuleName.psd1 -Encoding UTF8
|
||||||
|
Update-ModuleManifest -Path "$PSScriptRoot\$ModuleName.psd1" -ModuleVersion $NewVersion
|
||||||
|
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
"SetVersion" {
|
||||||
|
Write-Host " Updating version in PSD1 from [$CurrentVersion] to [$NewVersion]"
|
||||||
|
|
||||||
|
# Replace the version number in the content
|
||||||
|
#$PSDContent -replace $CurrentVersion, $NewVersion | Out-File $PSScriptRoot\$ModuleName.psd1 -Encoding UTF8
|
||||||
|
Update-ModuleManifest -Path "$PSScriptRoot\$ModuleName.psd1" -ModuleVersion $NewVersion
|
||||||
|
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Write-Host " Copying psd1"
|
Write-Host " Copying psd1"
|
||||||
Copy-Item -Path .\NetboxPS.psd1 -Destination .\dist\NetboxPS.psd1 -Force
|
Copy-Item -Path "$PSScriptRoot\$ModuleName.psd1" -Destination $PSD1OutputPath -Force
|
||||||
|
|
||||||
Write-Host " Copying psm1"
|
Write-Host " Copying psm1"
|
||||||
Copy-Item -Path .\concatenated.ps1 -Destination .\dist\NetboxPS.psm1 -Force
|
Copy-Item -Path $ConcatenatedFilePath -Destination $PSM1OutputPath -Force
|
||||||
|
|
||||||
Write-Host "Deployment complete" -ForegroundColor Green
|
Write-Host "Deployment complete" -ForegroundColor Green
|
||||||
Loading…
Add table
Reference in a new issue