簡體   English   中英

Jenkins參數釋放與登台

[英]Jenkins parameter Release versus Staging

我在詹金斯創建了一個我剛剛設置的自由式作業(最新版本)。

我添加了參數。 其中之一是ReleaseType的“選項”選項,其中包括“登台”和“發布”選項。

構建步驟之一是在將站點上傳到服務器時在服務器上執行遠程命令。 它使用“執行Windows批處理命令”構建步驟。

這是命令行(使事物變得通用):

sexec myuser@mysite.com -pw=mypassword -cmd="PowerShell -Command ""C:\batch\bvCopyFast.ps1 C:\inetpub\mysite${ReleaseType}\siteLoad C:\inetpub\mysite${ReleaseType}\site""

基本上,我正在執行一個Powershell命令,該命令使用Robocopy將文件從上載文件夾復制到站點的實際發布文件夾。

如您所見,我需要將$ {ReleaseType}替換為實際值。 問題是執行此操作時,它沒有執行替換操作。 我只是在命令中使用該文字值,但這不起作用。

如果使用-Co​​mmand參數,則意味着您將在后面的引號之間編寫原始的PowerShell代碼(允許您隨時調用腳本)。

PowerShell -Command "Get-Date; pause;"

要調用PowerShell腳本文件,您應該使用:

PowerShell -File "Your-Script.ps1 -Parameter1 Argument1 -Parameter2 Argument2"

https://docs.microsoft.com/en-us/powershell/scripting/components/console/powershell.exe-command-line-help?view=powershell-6

我將編寫一個PowerShell腳本,該腳本接受您的根路徑和releaseType作為參數,然后執行該腳本。

Param($rootPath,$releaseType)
{
   robocopy "$($rootPath)\$($releaseType)\siteLoad" "$($rootPath)\$($releaseType)\site"  
}

我從未使用過詹金斯,所以我希望它能按我期望的那樣工作!

sexec myuser@mysite.com -pw=mypassword -cmd=""PowerShell -File 'C:\batch\newScript.ps1' -RootPath 'c:\inetpub\mysite' -ReleaseType {ReleaseType}""

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM