2015-06-14 4 views
11

वीएसओ बिल्ड vNext पर बिल्ड सफल होने पर मैं स्वचालित रूप से एक प्रतिबद्धता टैग करना चाहता हूं। मैंने इस पृष्ठ को https://msdn.microsoft.com/Library/vs/alm/Build/scripts/variables सहित दस्तावेज़ पढ़ा है और मैंने एक छोटी PowerShell स्क्रिप्ट सेट की है। सबसे पहले, ऐसा लगता है कि BUILD_REPOSITORY_AUTH_USERNAME चर (और उसका मित्र पासवर्ड) खाली है। मुझे लगता है कि वे केवल बाहरी गिट्स के साथ उपलब्ध हैं? दूसरा, ऐसा लगता है कि निर्माण के लिए चेकआउट उन कार्यों के माध्यम से किया जाता है जो LibGit2Sharp चलाते हैं, इसलिए किसी भी सहायक में प्रमाण-पत्र संग्रहित नहीं होते हैं।विजुअल स्टूडियो ऑनलाइन (बिल्ड vNext, होस्टेड पूल) पर निर्माण के अंत में गिट टैग

यह मेरा PowerShell स्क्रिप्ट है:

git tag $Env:BUILD_BUILDNUMBER 
git status 
git config -l 
git push --progress https://$Env:GITUSER:$Env:[email protected]/DefaultCollection/_git/myproject tag $Env:BUILD_BUILDNUMBER 
git status 
exit 

यह मेरी मशीन पर लेकिन एजेंट (की मेजबानी पूल) पर अच्छी तरह से काम, लेकिन यह धक्का आदेश में एजेंट बने रहने लगता है (1 घंटे के बाद, यह स्वतः ही मिल गया नियंत्रक द्वारा मारा गया)।

यहाँ लॉग हैं:

****************************************************************************** 
Starting task: Powershell: tools/GitCommands.ps1 
****************************************************************************** 
HEAD detached at 819e778 
nothing to commit, working directory clean 
core.symlinks=false 
core.autocrlf=true 
color.diff=auto 
color.status=auto 
color.branch=auto 
color.interactive=true 
pack.packsizelimit=2g 
help.format=html 
http.sslcainfo=/bin/curl-ca-bundle.crt 
sendemail.smtpserver=/bin/msmtp.exe 
diff.astextplain.textconv=astextplain 
rebase.autosquash=true 
core.bare=false 
core.filemode=false 
core.symlinks=false 
core.ignorecase=true 
core.logallrefupdates=true 
core.repositoryformatversion=0 
remote.origin.url=https://myrepo.visualstudio.com/DefaultCollection/_git/myproject 
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* 
branch.master.remote=origin 
branch.master.merge=refs/heads/master 

****************************************************************************** 
Finishing task: PowerShell 
****************************************************************************** 

आप देख सकते हैं, और न ही धक्का स्थिति कमांड के लिए कोई लॉग। इसे प्राप्त करने के तरीके पर कोई विचार?

+0

ऐसा लगता है कि कोई भी env परिवर्तनीय BUILD_REPOSITORY_AUTH_USERNAME नहीं है। तो यह एक बड़ा सवाल है कि गिट में अधिकृत कैसे करें। – Ilya

उत्तर

9

प्रश्न का उत्तर देने के लिए (या प्रश्न का शीर्षक बेहतर)। बस vNext इसे बनाने दें।

enter image description here

टिप्पणी में उल्लेख किया है, यह बाहरी Git संग्रह के लिए उपलब्ध नहीं है।

+0

यह क्यों वोट नहीं दिया गया था? अछा लगता है। क्या यह गलत है ?? –

+0

कोई विचार है कि आप कस्टम में कैसे प्राप्त कर सकते हैं, स्क्रिप्ट परिभाषित चर में, जैसे कि गिटवर्सन का आउटपुट? – MytyMyky

+0

इसे समझ लिया - आप बिल्डिंग कमांड के साथ buildNumber को अपडेट कर सकते हैं, और उसके बाद उपर्युक्त रणनीति का उपयोग कर सकते हैं! https://github.com/Microsoft/vso-agent-tasks/issues/375 – MytyMyky

0

मैं जो कुछ करने की कोशिश कर रहा था उस पर मैं खुद का जवाब दे रहा हूं (गिट टैग उन कुछ कार्यों में से एक था जो मैं करना चाहता था)। अब स्क्रिप्ट में गिट कमांड निष्पादित करना संभव है। प्रलेखन यहाँ है:

  • जाओ:

    Git निर्माण सेवा के लिए आदेश

    अनुदान संस्करण नियंत्रण अनुमतियों को चलाने के लिए स्क्रिप्ट सक्षम करें: https://www.visualstudio.com/en-us/docs/build/scripts/git-commands

    यहाँ howto है संस्करण नियंत्रण नियंत्रण कक्ष टैब पर ▼

  • टी पर वह संस्करण नियंत्रण टैब, उस संग्रह का चयन करें जिसमें आप गिट कमांड चलाने के लिए चाहते हैं, और उसके बाद प्रोजेक्ट संग्रह बिल्ड सेवा का चयन करें।
  • गिट आदेशों के लिए आवश्यक अनुदान अनुमतियां जिन्हें आप चलाना चाहते हैं।

    • शाखा निर्माण:

    आमतौर पर आप प्रदान करने के लिए चाहता हूँ की अनुमति दें

  • योगदान: अनुमति दें
  • पढ़ें: पारंपरिक रूप से प्राप्त अनुमति देते हैं
  • टैग निर्माण: विरासत में मिला है की अनुमति देते हैं

जब आप अनुमतियां देते हैं, तो परिवर्तन सहेजें पर क्लिक करना सुनिश्चित करें।system.prefergittrue विकल्प टैब पर

करने का चयन स्क्रिप्ट OAuth टोकन तक पहुंचने दें:

अपने निर्माण परिभाषा Git.exe

चलाने के लिए चर टैब इस चर सेट पर सक्षम करें।

+0

'गिट पुश मूल * रेफ * पर मुझे 'घातक मिलता है: * यूआरएल * के लिए उपयोगकर्ता नाम नहीं पढ़ सका: अवैध तर्क', कोई संकेत जो मैं कर सकता हूं? क्या मुझे टीएफएस सर्वर (प्रीमियर पर) में क्रेडेंशियल जोड़ने की ज़रूरत है? – Love

संबंधित मुद्दे