#node.js #azure-devops #azure-pipelines #gulp-git
#node.js #azure-devops #azure-конвейеры #gulp-git
Вопрос:
Я создаю релиз для своего 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 выдают ошибку, поскольку учетные данные пользователя не заданы. Я не уверен, в каком контексте выполняется сборка. Я предоставил доступ к созданию и фиксации ветвей для «Службы сборки коллекции проектов».
Как установить учетные данные для git, когда я использую gulp-git в сборках Azure DevOps CI?
Комментарии:
1. Вы используете размещенный агент или частный агент?
2. У меня есть размещенный агент, работающий под управлением Ubuntu 16.04
3. не знаю, можно ли этого достичь с помощью gulp-git, но некоторое время назад у меня была похожая проблема. затем я использовал переменную ‘system.accesstoken’ в заголовке при внесении изменений, но я делал это в командной строке
Ответ №1:
Вы пробовали использовать токен OAuth (yaml или designer)?
Комментарии:
1. Спасибо, включение токена доступа помогло в получении доступа к пользователю. Однако я все еще не смог зарегистрироваться, поскольку git жаловался на отсутствие имени пользователя и электронной почты в конфигурации git. Я использовал git.exec ( npmjs.com/package/gulp-git#gitexecopt-cb ) для установки конфигурации git