【发布时间】:2019-12-21 12:13:32
【问题描述】:
我对 Jenkins 还很陌生,希望能得到一些帮助。我构建了一个管道脚本,它从 git repo 调用文件、读取文件并打印文件内容,然后将所有“text1”替换为我参数化的“${text2}”。控制台输出反映了更改。
对于 bat 命令,我映射服务器并希望能够将更新的文件内容部署到 Windows 服务器。但是发生了什么,它将原始文件而不是更新的文件部署到服务器。如何获取更新的文件以进行部署?谢谢。
stage(’name’)
node("commercial-windows-agents")
{
git([url: ‘git url’, branch: 'master'])
echo “${text2}”
String filePath = "${Workspace}"
println filePath
def fileContents = readFile("${Workspace}\\filename”)
println fileContents
println fileContents.replaceAll(“text1”, “${text2}”)
bat('''
(
net use T: \\\\server\\c$ %Password% /user:%Username%
xcopy "%WORKSPACE%\\filename” “T:\\filepath\\” /e /y
)
net use T: /d /y
''')
}
【问题讨论】:
-
replaceAll返回修改后的字符串。您需要将该字符串分配给变量,将其写入文件(或同时执行),然后使用该新文件而不是原始文件。