Как заполнить автора, ветви, коммит, сообщение в Cypres Dashboard в CI с Дженкинс? - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь получить информацию о коммите в Cypress Dashboard . Я пока не смог выполнить sh, но я сделал некоторые успехи, хотя ...

Я опишу то, что я сделал до сих пор:

  • Установил пакет commit-info npm, выполнив команду:

npm install --save @cypress/commit-info

  • Импортируйте плагин в файл plugin/index.js как итак:
const { commitInfo } = require('@cypress/commit-info');

module.exports = on => {
  on('file:preprocessor', file => {
    commitInfo().then(console.log);
  });
};

Теперь я получаю всю информацию, автора, ветку, коммит и сообщение в терминале! :) Однако у меня до сих пор нет информации, связанной с моим Cypress. Панель инструментов.

Вот что я сейчас получаю:

Каковы дальнейшие шаги? Документация мне не понятна ...

1 Ответ

1 голос
/ 23 марта 2020

В нашем случае мы запускаем все внутри контейнера docker. Мы копируем наш код в контейнер, но не копируем каталог. git, он большой, отнимает много времени, и он нам не нужен. @cypress/commit-info предполагает, что существует каталог. git , поэтому, поскольку его нет, он не работает.

Мы преодолели это, установив значения, которые ожидает кипарис явно в команде Cypress Run в нашем Jenkinsfile:

def commitMessage = sh(script:"git log --format=%B -n 1 ${env.GIT_COMMIT}", returnStdout:true).trim()
def commitAuthor = sh(script:"git log --format='%an' -n 1 ${env.GIT_COMMIT}", returnStdout:true).trim()
def commitEmail = sh(script:"git log --format='%ae' -n 1 ${env.GIT_COMMIT}", returnStdout:true).trim()

def cypressVars = "COMMIT_INFO_BRANCH=${env.GIT_BRANCH} COMMIT_INFO_SHA=${env.GIT_COMMIT} COMMIT_INFO_REMOTE=${env.GIT_URL} COMMIT_INFO_MESSAGE=\"${commitMessage}\" COMMIT_INFO_AUTHOR=\"${commitAuthor}\" COMMIT_INFO_EMAIL=${commitEmail}"

// call cypress however you do and include cypressVars as part of the command
...