Я довольно новичок в groovy. В моем Jenkinsfile
я пытаюсь сохранить выходные данные windows cmd в переменной, использовать их в следующей команде, но, похоже, ничего не работает.Это самое близкое, что я получил:
pipeline {
agent any
stages {
stage('package-windows') {
when {
expression { isUnix() == false}
}
steps {
script {
FILENAME = bat(label: 'Get file name', returnStdout: true, script:"dir \".\\archive\\%MY_FOLDER%\\www\\main.*.js\" /s /b")
}
bat label: 'replace content', script: "powershell -Command \"(gc \"$FILENAME\") -replace \"https://my-qa.domain.com/api/\", \"https://my-prod.domain.com/api/\" | Out-File \"$FILENAME\"\""
}
}
}
}
Когда я делаю ECHO "$FILENAME"
, это вывод, который я получаю:
C:\Program Files (x86)\Jenkins\workspace\my-ui>dir ".\archive\55131c0d3c28dc69ce39572eaf2f8585996d9108\main.*.js" /s /b
C:\Program Files (x86)\Jenkins\workspace\my-ui\archive\55131c0d3c28dc69ce39572eaf2f8585996d9108\www\main.16aedaf4c6be4e47266d.js
Все, что мне нужно, это имя файла main.16aedaf4c6be4e47266d.js
дляиспользоваться в следующей команде для изменения содержимого.Но в следующей команде "$FILENAME"
пусто.Как правильно сохранить вывод команды в переменной и получить доступ к следующим командам?