Как правильно установить git commit --author из граблей, работающих под учетной записью LocalSystem? - PullRequest
8 голосов
/ 05 марта 2011

У меня есть скрипт сборки Rake для моего процесса CI, работающего под TeamCity @ windows.Один из шагов, которые выполняет сценарий, заключается в том, чтобы внести некоторые изменения в удаленный репозиторий (этот репозиторий представляет реальную производственную среду на моем общем хостинге. Он имеет только ftp-доступ, поэтому я сопоставляю это местоположение как диск Windows)

Часть ruby ​​выглядит следующим образом:

  sh "git commit -v -m #{version_tag}"

Однако, когда скрипт запускается агентом сборки teamcity (который работает под учетной записью LocalSystem), я получаю следующее предупреждение:

[master e7a5a8d] v0.4.7.0
Committer: unknown <SYSTEM@.(none)>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email you@example.com
If the identity used for this commit is wrong, you can fix it with:
git commit --amend --author='Your Name <you@example.com>'
9 files changed, 0 insertions(+), 0 deletions(-)

Чтениечто я написал, я изменил свою команду сценария rake на:

  sh "git commit --author='TeamCity <no@email.com>' -v -m #{version_tag}"

, но эта команда приводит к странному сбою (ранее фиксация была успешной, но с предупреждением).Это единственное, что я получаю в качестве вывода из журнала сборки TeamCity:

git commit --author='TeamCity <no@email.com>' -v -m v1.0.18.10
[19:06:20]: [Execute _3_deployment_stage:to_ftp] The system cannot find the file specified.

Как успешно настроить автора для коммита для скрипта, работающего под учетной записью LocalSystem?

1 Ответ

16 голосов
/ 06 марта 2011

Я нашел другое решение моей проблемы.Я настроил агент TeamCity для запуска под пользовательской учетной записью Windows.Мне нужно было войти в эту учетную запись и установить оба:

git config --global user.email some@email.com
git config --global user.name TeamCity

При такой настройке команда:

sh "git commit --author='TeamCity <some@email.com>' -v -m #{version_tag}"

по-прежнему генерирует странное сообщение: «Система не может найтиуказанный файлошибка.Однако, настроив параметры учетной записи глобально, я мог бы удалить параметр --author из оператора commit, оставив его с:

sh "git commit -v -m #{version_tag}"

, и это даст желаемый эффект.

...