Как установить учетные данные git в непрерывных сборках azure devops

#node.js #azure-devops #azure-pipelines #gulp-git

#node.js #azure-devops #azure-конвейеры #gulp-git

Вопрос:

Я создаю релиз для своего Node.js проект. Сборка настроена на gulp.

В рамках этапов сборки мне нужно:

  1. извлеките мастер и создайте новую ветку выпуска
  2. Обновите версию в ветке выпуска
  3. зафиксируйте и запустите ветку выпуска

Все эти шаги настраиваются с помощью 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