【发布时间】:2019-03-08 06:58:28
【问题描述】:
我正在为我的 Node.js 项目创建一个版本。构建是在 gulp 上配置的。
作为构建步骤的一部分,我需要:
- 签出 master 并创建一个新的发布分支
- 更新发布分支上的版本
- 提交并推送发布分支
所有这些步骤都是使用 gulp as 配置的
gulp.task('release', gulpSequence(
'checkout-release-branch',
'bump-version',
'clean:dist',
'compile-ts',
'commit-appversion-changes-to-release',
'push-release-branch'
));
gulp.task('checkout-release-branch', function () {
const packageJSON = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
git.checkout('release-' + appVersion, { args: '-b' }, function (err) {
if (err) throw err;
});
});
gulp.task('bump-version', function () {
return gulp.src(['./package.json'])
.pipe(bump({ version: appVersion }).on('error', log.error))
.pipe(gulp.dest('./'));
});
gulp.task('commit-appversion-changes-to-release', function () {
return gulp.src('.')
.pipe(git.add())
.pipe(git.commit('[Release] Bumped package version number for release'));
});
gulp.task('push-release-branch', function () {
git.push('origin', 'release-' + appVersion, { args: " -u" }, function (err) {
if (err) throw err;
});
});
当我在 Azure DevOps 上运行时,上述步骤给出了未设置用户凭据的错误。我不确定构建在什么环境下运行。我已授予“项目集合构建服务”的创建和提交分支的访问权限。
当我在 Azure DevOps CI 构建中使用 gulp-git 时,为 git 设置凭据的方式是什么?
【问题讨论】:
-
您使用托管代理还是私有代理?
-
我有一个托管代理,运行 ubuntu 16.04
-
不知道这是否可以通过 gulp-git 实现,但我前段时间遇到了类似的问题。然后,我在推送更改时在标题中使用了变量“system.accesstoken”,但我是在命令行上进行的
标签: node.js azure-devops azure-pipelines gulp-git