Изменить customWorkspace на основе ветви - PullRequest
0 голосов
/ 07 мая 2019

Я использую конвейер Jenkins и получаю следующую ошибку при запуске функции для получения CustomWorkspace: No such DSL method '$' found among steps.

def getLabel() {
    // Which server to run this on.
    return "php7a"
}
// Choose the site name based on git name and if it is a Pull Request or branch.
def getSitename() {
  if (env.BRANCH_NAME == 'updates') {
    SITENAME = "reo"
    if (env.CHANGE_BRANCH && !env.CHANGE_FORK){
      return "${SITENAME}-${env.CHANGE_BRANCH.toLowerCase()}"
    }
    else {
      return "${SITENAME}-${env.BRANCH_NAME.toLowerCase()}"
    }
  }
  else {
    // Set the project name, most likely the git repo name.
    if (env.CHANGE_BRANCH && !env.CHANGE_FORK){
      return "${env.CHANGE_BRANCH.toLowerCase()}"
    }
    else {
      return "${env.BRANCH_NAME.toLowerCase()}"
    }
  }
}

def projectName() {
    return "myproject"
}


/**
 * Get custom workspace path.
 *
 * @param string projectName
 *   Project name.
 * @param string siteName
 *   Site name.
 */
def getCustomworkspace(String projectName,
                       String siteName) {
  if (env.BRANCH_NAME == 'updates') {
    return "/var/www/${siteName}"
  }
  else {
    return "/var/build/${projectName}-${siteName}"
  }
}

...
...

  agent {
    node {
      label "${getLabel()}"
      customWorkspace "${getCustomworkspace(${projectName()}, ${getSitename()})}"
    }
  }
...
...

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

Мне не удалось вызвать функцию с параметрами, но я смог вызвать функции внутри своей функции, поэтому я просто сделал это:

/**
 * Get custom workspace path.
 */
def getCustomworkspace() {
  if (env.BRANCH_NAME == 'xupdates') {
    return "/var/www/${getSitename()}"
  }
  else {
    return "/var/build/${projectName()}-${getSitename()}"
  }
}
customWorkspace "${getCustomworkspace()}"
0 голосов
/ 07 мая 2019

Вы можете изменить строку customWorkspace, как показано ниже

customWorkspace "${getCustomworkspace('${projectName()}', '${getSitename()}')}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...