Jenkins 参数 Release 与 Staging
Jenkins parameter Release versus Staging
我在刚刚设置的 Jenkins 中创建了一个自由式作业(最新版本)。
我给它加了参数。其中之一是 ReleaseType 的 Options 选择,其中包含 Staging 和 Release 选项。
其中一个构建步骤是在网站上传到时在服务器上执行远程命令。它使用执行 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} 替换为实际值。问题是当它被执行时,它并没有进行替换。我只是在命令中使用了那个字面值,但它不起作用。
如果您使用 -Command 参数,则意味着您将在后面的引号之间编写原始 PowerShell 代码(允许您可以调用脚本)。
PowerShell -Command "Get-Date; pause;"
要调用 PowerShell 脚本文件,您应该使用:
PowerShell -File "Your-Script.ps1 -Parameter1 Argument1 -Parameter2 Argument2"
我会编写一个 PowerShell 脚本,接受您的根路径和 releaseType 作为参数并执行它。
Param($rootPath,$releaseType)
{
robocopy "$($rootPath)$($releaseType)\siteLoad" "$($rootPath)$($releaseType)\site"
}
我从未使用过 Jenkins,所以我希望它能像我预期的那样工作!
sexec myuser@mysite.com -pw=mypassword -cmd=""PowerShell -File 'C:\batch\newScript.ps1' -RootPath 'c:\inetpub\mysite' -ReleaseType {ReleaseType}""
我在刚刚设置的 Jenkins 中创建了一个自由式作业(最新版本)。
我给它加了参数。其中之一是 ReleaseType 的 Options 选择,其中包含 Staging 和 Release 选项。
其中一个构建步骤是在网站上传到时在服务器上执行远程命令。它使用执行 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} 替换为实际值。问题是当它被执行时,它并没有进行替换。我只是在命令中使用了那个字面值,但它不起作用。
如果您使用 -Command 参数,则意味着您将在后面的引号之间编写原始 PowerShell 代码(允许您可以调用脚本)。
PowerShell -Command "Get-Date; pause;"
要调用 PowerShell 脚本文件,您应该使用:
PowerShell -File "Your-Script.ps1 -Parameter1 Argument1 -Parameter2 Argument2"
我会编写一个 PowerShell 脚本,接受您的根路径和 releaseType 作为参数并执行它。
Param($rootPath,$releaseType)
{
robocopy "$($rootPath)$($releaseType)\siteLoad" "$($rootPath)$($releaseType)\site"
}
我从未使用过 Jenkins,所以我希望它能像我预期的那样工作!
sexec myuser@mysite.com -pw=mypassword -cmd=""PowerShell -File 'C:\batch\newScript.ps1' -RootPath 'c:\inetpub\mysite' -ReleaseType {ReleaseType}""