【发布时间】:2021-02-06 10:04:36
【问题描述】:
我想在 Jenkins 上运行的 CI 上运行 Danger 测试。我正在使用脚本化的管道。
我已将 GitHub 分支源插件安装到 Jenkins 中。我还为 builds_user 帐户(Jenkins 用于 GitHub 交互)创建了一个个人访问令牌,并将其存储在 Jenkins 凭证存储中,具有唯一 ID builds_user_repos_acces。
这就是我冒险的方式:
withCredentials([usernamePassword(credentialsId: 'builds_user_repos_access', passwordVariable: 'DANGER_GITHUB_API_TOKEN', usernameVariable: '')]) {
def dangerEnv = [
"DANGER_GITHUB_API_TOKEN=${env.DANGER_GITHUB_API_TOKEN}"
]
stage('danger') {
withEnv(buildEnv + dangerEnv) {
sh 'bundle exec danger'
}
}
}
buildEnv 是运行 ruby gem 所需的环境变量列表。当我运行其他 gem 和运行 bundle install 时,一切正常。
我得到的是一个警告:
- 捆绑执行危险
不是 Jenkins 拉取请求 - 跳过“危险”运行。
我也试过了:
stage('danger') {
withEnv(buildEnv) {
withCredentials([usernamePassword(credentialsId: 'skbuilds_repos_access', passwordVariable: 'DANGER_GITHUB_API_TOKEN', usernameVariable: '')]) {
sh 'env'
sh "bundle exec danger"
}
}
}
我可以看到 DANGER_GITHUB_API_TOKEN 在那里(被屏蔽)。
你看出哪里不对了吗?有没有办法获取更多信息?
【问题讨论】: