В репозитории 2 ветки:
master,
build.
build ветка должна выполнять еще 1 действие в Jenkinsfile, а именно - упаковка библиотеки в nuget пакет:
stage("publish") {
when {
expression {
GIT_BRANCH == 'build'
}
}
steps {
bat "dotnet pack -c Release -o ".\artifacts" --no-build"
}
}
Но такой Jenkinsfile выдает ошибку:
WorkflowScript: 30: unexpected char: '\' @ line 30, column 38.
Как быть в этой ситуации, когда надо указать путь, но он ругается на обратный слеш? (пробовал поставить 2 - тоже самое, двойные кавычки менял на одинарные - тоже самое)
Можно ли как-то унифицировать Jenkinsfile, чтобы он работал и на Windows, и на Linux? (sh в Windows сваливается в ошибку
Caused: java.io.IOException: Cannot run program "nohup")
Полный Jenkinsfile:
pipeline {
agent any
stages {
stage("clean") {
steps {
bat "dotnet clean -c Release"
}
}
stage("build") {
steps {
bat "dotnet build -c Release"
}
}
stage("test") {
steps {
bat "dotnet test -c Release --no-build --verbosity=normal"
}
}
stage("publish") {
when {
expression {
GIT_BRANCH == 'build'
}
}
steps {
bat "dotnet pack -c Release -o ".\artifacts" --no-build"
}
}
}
}