我正在为我的Node.js项目创建一个版本。构建是在gulp上配置的。
作为构建步骤的一部分,我需要:
所有这些步骤都使用gulp配置为
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上运行时,上述步骤会给出未设置用户凭据的错误。我不确定构建在什么上下文中运行。我已经为“Project Collection Build Service”提供了访问创建和提交分支。
当我在Azure DevOps CI构建中使用gulp-git时,为git设置凭据的方法是什么?
你尝试过使用OAuth token(yaml或designer)吗?