簡體   English   中英

來自TeamCity 9.0.3構建的Git推送

[英]Git push from TeamCity 9.0.3 build

我正在嘗試進行TeamCity構建配置,以檢出git存儲庫,對存儲庫中的文本文件進行少量更改,然后將更改推回存儲庫。 我真想讓git push命令從Ubuntu構建代理工作。

我已經嘗試了ssh身份驗證和https身份驗證:

使用HTTPS,我會收到此錯誤:

could not read Username for 'https://github.com': No such device or address

所以我嘗試了:

git config user.name "<my username>"
git config user.email "<my email>"

同樣的錯誤。

使用SSH,我得到這個錯誤:

ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory
Host key verification failed.
fatal: Could not read from remote repository.

我試圖在工作目錄中寫入密鑰,並讓git像這樣使用它:

cat << EOF > github.key
%secure:teamcity.password.chambm ssh key%
EOF
chmod 600 github.key

GIT_SSH_COMMAND='ssh -i github.key' git push origin master
shred github.key

同樣的錯誤。

據我所知, /etc/ssh_config/etc/gitconfig中沒有異常設置,並且~/.ssh/config不存在。 為什么這么難? 為什么git調用ssh_askpass,即使我給它使用了私鑰?

git --version2.7.4

環境變量:

export BUILD_NUMBER='44'
export BUILD_VCS_NUMBER='50e0d54d7045fcf0bd6949a06d82ac2f118bc5d9'
export BUILD_VCS_NUMBER_ProteoWizard_HttpsGithubComBiocondaBiocondaRecipes='50e0d54d7045fcf0bd6949a06d82ac2f118bc5d9'
export DISPLAY=':3'
export FIREFOX38='/tcuser/apps/firefox38/firefox'
export FIREFOX45='/tcuser/apps/firefox45/firefox'
export FIREFOX52='/tcuser/apps/firefox52/firefox'
export FIREFOX_HOME='/usr/bin/firefox'
export HOME='/home/tcuser'
export JAVA_HOME='/usr/lib/jvm/default-java'
export JDK_17='/usr/lib/jvm/java-7-sun'
export JDK_18='/usr/lib/jvm/java-8-sun'
export JRE_HOME='/usr/lib/jvm/default-java'
export LANG='en_US.UTF-8'
export LOGNAME='tcuser'
export MAIL='/var/mail/tcuser'
export NUMBER_OF_CORES='4'
export OLDPWD='/tcuser/apps/teamcity/agent/bin'
export PATH='/home/tcuser/bin:/home/tcuser/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin'
export PERL_HOME='/usr/bin'
export PWD='/mnt/teamcity/agent/work/2cc04074d294b6fa'
export PYTHON2='/usr/bin/python'
export PYTHON3='/usr/bin/python3'
export R_HOME='/tcuser/apps/R/default'
export SHELL='/bin/bash'
export SHLVL='1'
export TEAMCITY_AGENT_OPTS='-Duser.timezone=America/Los_Angeles'
export TEAMCITY_BUILDCONF_NAME='Bumbershoot update bioconda'
export TEAMCITY_BUILD_PROPERTIES_FILE='/mnt/teamcity/agent/temp/buildTmp/teamcity.build7482307983791518712.properties'
export TEAMCITY_CAPTURE_ENV='"/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java" -jar "/tcuser/apps/teamcity/agent/plugins/environment-fetcher/bin/env-fetcher.jar"'
export TEAMCITY_GIT_PATH='/usr/bin/git'
export TEAMCITY_PROCESS_FLOW_ID='1039593210152446'
export TEAMCITY_PROCESS_PARENT_FLOW_ID=''
export TEAMCITY_PROJECT_NAME='Bioconda'
export TEAMCITY_VERSION='9.0.3 (build 32334)'
export TEMP='/mnt/teamcity/agent/temp/buildTmp'
export TMP='/mnt/teamcity/agent/temp/buildTmp'
export TMPDIR='/mnt/teamcity/agent/temp/buildTmp'
export TZ='PST8PDT'
export USER='tcuser'
export XDG_RUNTIME_DIR='/run/user/1002'
export XDG_SESSION_ID='c8'

關於https,您需要:

  • 確保網址是

     https://<username>@github.com/<username>/arepo 
  • 有一個憑證管理器來緩存密碼

     git config -l credential.helper 

請參閱“ Git工具-憑據存儲 ”和此設置

然后手動嘗試git ls-remote https://...以觸​​發提示您輸入密碼的提示,該提示將被緩存。
然后,TeamCity將能夠重用那些緩存的憑據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM