#jenkins #jenkins-pipeline #bitbucket #jenkins-plugins #pull-request
#дженкинс #дженкинс-конвейер #bitbucket #дженкинс-плагины #запрос на извлечение
Вопрос:
Я настраиваю свой Jenkinsfile, чтобы разрешить создание тестов для каждого bitbucket PR, созданного для любой ветви (только для PR). Однако, плагин, похоже, работает против каждой ветви при создании PR. Это ошибка с плагином? Я использую плагин Bitbucket Pull Request Builder 1.4.30
Мой триггер заключается в следующем
triggers{
- bitbucketpr(projectPath:'bitbucket.org/testrepo/django-db.git',
- cron:'* * * * *',
- credentialsId:'jenkins_pr_test',
- repositoryOwner:'testrepo',
- repositoryName:'django-db',
- branchesFilter:"*/dev",
- branchesFilterBySCMIncludes:false,
- ciKey:'jenkins',
- ciName:'jenkins',
- ciSkipPhrases:'',
- checkDestinationCommit:false,
- approveIfSuccess:false,
- cancelOutdatedJobs:true,
- commentTrigger:'')
- pollSCM('H/5 * * * *')
- }
Я даже пробовал следующее для сборки только для определенной ветки, но плагин по-прежнему создает все ветки.
- branchesFilter:"*/${BRANCH_NAME}"```
Есть идеи?
Мой этап заключается в следующем
stage('Build and Test Docker image') {
when { branch "${BRANCH_NAME}" }
steps {
script {
docker.withRegistry("${env.ECR_URL}", "ecr:us-east-1:ecrAccess") {
customImage = docker.build("${env.IMAGE_NAME}")
withCredentials([string(credentialsId: 'CODACY_TARGETDB_API', variable: 'CODACY_PROJECT_TOKEN')]) {
sh "curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o docker-compose"
sh "chmod x docker-compose"
sh "./docker-compose -f docker-compose-ci.yml up --exit-code-from web"
}
customImage.push()
}
}
}
Комментарии:
1. Рассматривали ли вы возможность использования многоотраслевого конвейера с плагином Bitbucket branch source? Просто взглянув на конфигурацию, она должна быть не только проще в использовании, но и делать то, что вам нужно, и красиво отображать ветви и PR отдельно. Вы можете настроить способ обработки ветвей, для которых существует PR.
2. Хм, я на самом деле тоже этим пользуюсь. Интересно, не конфликтуют ли они друг с другом.
Ответ №1:
В блоке триггеров отредактируйте путь к проекту с помощью
*/${sourceBranch}
Это должно выглядеть так:
bitbucketpr(projectPath:'*/${sourceBranch}',