SlideShare uma empresa Scribd logo
1 de 3
In my last post,I explainedhowtoconfigure yourTFSserverandagentpoolsto supportLinux build
agents.
In thispost,I'll be settingupa Linux machine toact as a buildagentforan on-premise instance of TFS
2015. The TFS 2015 cross-platformbuildagentisjustaNode JSapplication,sowe have some
prerequisitestotake care of first.
 First,geta Linux machine!IusedanAzure VMrunningUbuntu14.04 LTS, so these stepsshould
workagainsta similarsetup.
 Connectto yourLinux machine viaSSHand log in.If you needanSSH client, PuTTYisawesome
and it'sall I everuse.
 Install NPM,the Node Package Manager.We'll be usingNPMto install the cross-platformbuild
agent.The followingcommandshouldtake care of it:
sudoapt-getinstall npmAnswer"yes"toanypromptsthat come up.
 Now, forwhateverreason,alotof the upcomingstepsdependonthe command"node"being
available.ButNodeJSinstallsas"nodejs".Sowe have toaddan aliasfor"nodejs"to"node":
sudoln -s/usr/bin/nodejs /usr/bin/node
 Nowrun the followingcommandtocheckyour versionnumbers:
npm-v && node -v
You shouldsee outputlike this:
1.3.10
v0.10.25
Thismeansthat youhave version1.3.10 of NPMand 0.10.25 of NodeJSinstalled.Perfect!
 Nowwe needtoinstall the cross-platformbuildagent,whichisavailableonNPM.
sudonpm install vsoagent-installer-gThatwill downloadthe buildagentinstaller.Now make adirectory
called"build"andswitchintothatdirectory,andrunthe installer:
mkdirbuild
cd build
vsoagent-installer
You shouldsee some textlike this:
Installingagentto/home/ictfs-admin/build
Copying:/usr/local/lib/node_modules/vsoagent-installer/agent/home/ictfs-admin/build
Copying:/usr/local/lib/node_modules/vsoagent-installer/node_modules /home/ictfs-admin/build
makingscriptsexecutable
Done.
 This step is only if you are using an app tier server namethatis notusing a FQDN
For example,myserveris"ic-tfs-at-01".It'snot "ic-tfs-at-01.incyclesoftware.com",or"ic-tfs-at-01.local",
or anythinglike that.That"." mattersto the cross-platformagentatthe moment;itwill notallow youto
configure the agentunlessthere'sa "." inthere.I submittedabugfix forthis,but ithasn't beenmerged
inyet,so you'll have todo thisin the interim.:)Mysolutionisbasicallytoremove the checkfromthe
configuration.
Edit"~/build/agent/configuration.js".Iuse Nanoforthis,because I'mnot old-school enoughto
understandhowtouse vi or Emacs.
sudonano ~/build/agent/configuration.js
Findline 153, it shouldlooklike this:
Configurator.prototype.validate =function (settings) {
throwIf(!check.isURL(settings.serverUrl), settings.serverUrl +' isnot a validURL');
};
Remove that"throwIf"line andsave the file.Bythe time youreadthis,theymayhave mergedmyfix in.
If so, proceed!
 Nowwe can run the configurationprocess.
node agent/vsoagentIt'sgoingtopromptusfor some setupinformation:
- User name - enteryourbuildservice account.If you're usingadomain, Specify it as USER@DOMAIN,
notDOMAINUSER.Forexample,mydomainis"azure",andmyuseris"tfs-build".SoI'mgoingto enter
tfs-build@azure here.
- Password.Noexplanationnecessary.
- TFS serverURL. So,http://yourServerName:8080/tfs
- Agentname.Enterwhateveryouwant,Ileave itdefault.
- Agentpool name.If youmade a separate agentpool (Imade one called'linux',enterithere.
It shouldlook somethinglike this:
Enter alternate username>tfs-build@azure
Enter alternate password >
Enter serverurl > http://ic-tfs-at-01:8080/tfs
Enter agentname (entersetsIC-TFS-BA-03Lin) >
Enter agentpool name (entersetsdefault) >linux
successful connectasundefined
Retrieved agentpool:linux (2)
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap XDG_SESSION_ID=1
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SHELL=/bin/bash
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SSH_CLIENT=67.85.54.145 4186 22
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SSH_TTY=/dev/pts/0
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap USER=ictfs-admin
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap MAIL=/var/mail/ictfs-admin
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap PWD=/home/ictfs-admin/build
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LANG=en_US.UTF-8
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap HOME=/home/ictfs-admin
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LOGNAME=ictfs-admin
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SSH_CONNECTION=67.85.54.145 4186 10.0.2.14 22
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LESSOPEN=|/usr/bin/lesspipe %s
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap XDG_RUNTIME_DIR=/run/user/1000
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LESSCLOSE=/usr/bin/lesspipe%s%s
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap _=/usr/bin/node
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap OLDPWD=/home/ictfs-admin
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) :
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap ant notfound
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap clangnot found
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap cmake not found
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap curl=/usr/bin/curl
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap gitnot found
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap jake=.
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap javanot found
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap make=/usr/bin/make
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap mdtool notfound
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap mdtool notfound
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap mvnnot found
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap node.js=/usr/bin/node
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap node.js=/usr/bin/nodejs
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap npm=/usr/bin/npm
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap gulpnotfound
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap python=/usr/bin/python
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap python3=/usr/bin/python3
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap sh=/bin/sh
IC-TFS-BA-03Lin
Creatingwork folder...
Creatingenv file ...
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap XDG_SESSION_ID=1
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SHELL=/bin/bash
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SSH_CLIENT=67.85.54.145 4186 22
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SSH_TTY=/dev/pts/0
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap USER=ictfs-admin
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap MAIL=/var/mail/ictfs-admin
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap PWD=/home/ictfs-admin/build
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LANG=en_US.UTF-8
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap HOME=/home/ictfs-admin
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LOGNAME=ictfs-admin
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SSH_CONNECTION=67.85.54.145 4186 10.0.2.14 22
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LESSOPEN=|/usr/bin/lesspipe %s
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap XDG_RUNTIME_DIR=/run/user/1000
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LESSCLOSE=/usr/bin/lesspipe%s%s
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap _=/usr/bin/node
Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap OLDPWD=/home/ictfs-admin
Savingconfiguration ...
2015-08-13T14:55:33.451Z: AgentStarted.
To quitthe agent,just pressCtrl-C.Youcan alwaysre-startitby runningnode agent/vsoagentagain.

Mais conteúdo relacionado

Destaque

Pre-Con Ed: CA Workload Automation DE: Tips and Tricks
Pre-Con Ed: CA Workload Automation DE: Tips and TricksPre-Con Ed: CA Workload Automation DE: Tips and Tricks
Pre-Con Ed: CA Workload Automation DE: Tips and TricksCA Technologies
 
Performance is a feature! - London .NET User Group
Performance is a feature! - London .NET User GroupPerformance is a feature! - London .NET User Group
Performance is a feature! - London .NET User GroupMatt Warren
 
.Net Core Fall update
.Net Core Fall update.Net Core Fall update
.Net Core Fall updateMSDEVMTL
 
SLAs - How to Meet Your Customer Expectations
SLAs - How to Meet Your Customer ExpectationsSLAs - How to Meet Your Customer Expectations
SLAs - How to Meet Your Customer ExpectationsKayako
 
How are containers enabling 20th Century Fox to release the next great movie?
How are containers enabling 20th Century Fox to release the next great movie?How are containers enabling 20th Century Fox to release the next great movie?
How are containers enabling 20th Century Fox to release the next great movie?Docker, Inc.
 
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16 What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16 Docker, Inc.
 
Event based asynchronous pattern
Event based asynchronous patternEvent based asynchronous pattern
Event based asynchronous patternMSDEVMTL
 

Destaque (7)

Pre-Con Ed: CA Workload Automation DE: Tips and Tricks
Pre-Con Ed: CA Workload Automation DE: Tips and TricksPre-Con Ed: CA Workload Automation DE: Tips and Tricks
Pre-Con Ed: CA Workload Automation DE: Tips and Tricks
 
Performance is a feature! - London .NET User Group
Performance is a feature! - London .NET User GroupPerformance is a feature! - London .NET User Group
Performance is a feature! - London .NET User Group
 
.Net Core Fall update
.Net Core Fall update.Net Core Fall update
.Net Core Fall update
 
SLAs - How to Meet Your Customer Expectations
SLAs - How to Meet Your Customer ExpectationsSLAs - How to Meet Your Customer Expectations
SLAs - How to Meet Your Customer Expectations
 
How are containers enabling 20th Century Fox to release the next great movie?
How are containers enabling 20th Century Fox to release the next great movie?How are containers enabling 20th Century Fox to release the next great movie?
How are containers enabling 20th Century Fox to release the next great movie?
 
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16 What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
 
Event based asynchronous pattern
Event based asynchronous patternEvent based asynchronous pattern
Event based asynchronous pattern
 

Mais de InCycleSoftware

Azure DevOps Presentation
Azure DevOps PresentationAzure DevOps Presentation
Azure DevOps PresentationInCycleSoftware
 
TFS 2015 Upgrade Tips & Tricks
TFS 2015 Upgrade Tips & TricksTFS 2015 Upgrade Tips & Tricks
TFS 2015 Upgrade Tips & TricksInCycleSoftware
 
Azure Labs QA Testing Webcast
Azure Labs QA Testing WebcastAzure Labs QA Testing Webcast
Azure Labs QA Testing WebcastInCycleSoftware
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksInCycleSoftware
 
Release Management in TFS 2015
Release Management in TFS 2015Release Management in TFS 2015
Release Management in TFS 2015InCycleSoftware
 
Webcast: TFS 2015 & Why Upgrade
Webcast: TFS 2015 & Why UpgradeWebcast: TFS 2015 & Why Upgrade
Webcast: TFS 2015 & Why UpgradeInCycleSoftware
 
Cloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingCloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingInCycleSoftware
 
InCycle's DevOps with Azure
InCycle's DevOps with AzureInCycle's DevOps with Azure
InCycle's DevOps with AzureInCycleSoftware
 
Microsoft Development Tools & Platforms for 2015
Microsoft Development Tools & Platforms for 2015Microsoft Development Tools & Platforms for 2015
Microsoft Development Tools & Platforms for 2015InCycleSoftware
 
Hybrid IT With Azure's Cloud Services
Hybrid IT With Azure's Cloud ServicesHybrid IT With Azure's Cloud Services
Hybrid IT With Azure's Cloud ServicesInCycleSoftware
 
Increase Delivery Speed Using Azure
Increase Delivery Speed Using AzureIncrease Delivery Speed Using Azure
Increase Delivery Speed Using AzureInCycleSoftware
 
Moving Your Business to Azure
Moving Your Business to AzureMoving Your Business to Azure
Moving Your Business to AzureInCycleSoftware
 
Understanding Azure Networking Services
Understanding Azure Networking ServicesUnderstanding Azure Networking Services
Understanding Azure Networking ServicesInCycleSoftware
 

Mais de InCycleSoftware (14)

Azure DevOps Presentation
Azure DevOps PresentationAzure DevOps Presentation
Azure DevOps Presentation
 
TFS 2015 Upgrade Tips & Tricks
TFS 2015 Upgrade Tips & TricksTFS 2015 Upgrade Tips & Tricks
TFS 2015 Upgrade Tips & Tricks
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Azure Labs QA Testing Webcast
Azure Labs QA Testing WebcastAzure Labs QA Testing Webcast
Azure Labs QA Testing Webcast
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and Tricks
 
Release Management in TFS 2015
Release Management in TFS 2015Release Management in TFS 2015
Release Management in TFS 2015
 
Webcast: TFS 2015 & Why Upgrade
Webcast: TFS 2015 & Why UpgradeWebcast: TFS 2015 & Why Upgrade
Webcast: TFS 2015 & Why Upgrade
 
Cloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingCloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load Testing
 
InCycle's DevOps with Azure
InCycle's DevOps with AzureInCycle's DevOps with Azure
InCycle's DevOps with Azure
 
Microsoft Development Tools & Platforms for 2015
Microsoft Development Tools & Platforms for 2015Microsoft Development Tools & Platforms for 2015
Microsoft Development Tools & Platforms for 2015
 
Hybrid IT With Azure's Cloud Services
Hybrid IT With Azure's Cloud ServicesHybrid IT With Azure's Cloud Services
Hybrid IT With Azure's Cloud Services
 
Increase Delivery Speed Using Azure
Increase Delivery Speed Using AzureIncrease Delivery Speed Using Azure
Increase Delivery Speed Using Azure
 
Moving Your Business to Azure
Moving Your Business to AzureMoving Your Business to Azure
Moving Your Business to Azure
 
Understanding Azure Networking Services
Understanding Azure Networking ServicesUnderstanding Azure Networking Services
Understanding Azure Networking Services
 

Último

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Building ASP .NET 5 Applications on Linux with TFS 2015, Part 2: Configuring the build agent

  • 1. In my last post,I explainedhowtoconfigure yourTFSserverandagentpoolsto supportLinux build agents. In thispost,I'll be settingupa Linux machine toact as a buildagentforan on-premise instance of TFS 2015. The TFS 2015 cross-platformbuildagentisjustaNode JSapplication,sowe have some prerequisitestotake care of first.  First,geta Linux machine!IusedanAzure VMrunningUbuntu14.04 LTS, so these stepsshould workagainsta similarsetup.  Connectto yourLinux machine viaSSHand log in.If you needanSSH client, PuTTYisawesome and it'sall I everuse.  Install NPM,the Node Package Manager.We'll be usingNPMto install the cross-platformbuild agent.The followingcommandshouldtake care of it: sudoapt-getinstall npmAnswer"yes"toanypromptsthat come up.  Now, forwhateverreason,alotof the upcomingstepsdependonthe command"node"being available.ButNodeJSinstallsas"nodejs".Sowe have toaddan aliasfor"nodejs"to"node": sudoln -s/usr/bin/nodejs /usr/bin/node  Nowrun the followingcommandtocheckyour versionnumbers: npm-v && node -v You shouldsee outputlike this: 1.3.10 v0.10.25 Thismeansthat youhave version1.3.10 of NPMand 0.10.25 of NodeJSinstalled.Perfect!  Nowwe needtoinstall the cross-platformbuildagent,whichisavailableonNPM. sudonpm install vsoagent-installer-gThatwill downloadthe buildagentinstaller.Now make adirectory called"build"andswitchintothatdirectory,andrunthe installer: mkdirbuild cd build vsoagent-installer You shouldsee some textlike this: Installingagentto/home/ictfs-admin/build Copying:/usr/local/lib/node_modules/vsoagent-installer/agent/home/ictfs-admin/build Copying:/usr/local/lib/node_modules/vsoagent-installer/node_modules /home/ictfs-admin/build makingscriptsexecutable Done.  This step is only if you are using an app tier server namethatis notusing a FQDN For example,myserveris"ic-tfs-at-01".It'snot "ic-tfs-at-01.incyclesoftware.com",or"ic-tfs-at-01.local", or anythinglike that.That"." mattersto the cross-platformagentatthe moment;itwill notallow youto configure the agentunlessthere'sa "." inthere.I submittedabugfix forthis,but ithasn't beenmerged inyet,so you'll have todo thisin the interim.:)Mysolutionisbasicallytoremove the checkfromthe configuration. Edit"~/build/agent/configuration.js".Iuse Nanoforthis,because I'mnot old-school enoughto understandhowtouse vi or Emacs. sudonano ~/build/agent/configuration.js Findline 153, it shouldlooklike this:
  • 2. Configurator.prototype.validate =function (settings) { throwIf(!check.isURL(settings.serverUrl), settings.serverUrl +' isnot a validURL'); }; Remove that"throwIf"line andsave the file.Bythe time youreadthis,theymayhave mergedmyfix in. If so, proceed!  Nowwe can run the configurationprocess. node agent/vsoagentIt'sgoingtopromptusfor some setupinformation: - User name - enteryourbuildservice account.If you're usingadomain, Specify it as USER@DOMAIN, notDOMAINUSER.Forexample,mydomainis"azure",andmyuseris"tfs-build".SoI'mgoingto enter tfs-build@azure here. - Password.Noexplanationnecessary. - TFS serverURL. So,http://yourServerName:8080/tfs - Agentname.Enterwhateveryouwant,Ileave itdefault. - Agentpool name.If youmade a separate agentpool (Imade one called'linux',enterithere. It shouldlook somethinglike this: Enter alternate username>tfs-build@azure Enter alternate password > Enter serverurl > http://ic-tfs-at-01:8080/tfs Enter agentname (entersetsIC-TFS-BA-03Lin) > Enter agentpool name (entersetsdefault) >linux successful connectasundefined Retrieved agentpool:linux (2) Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap XDG_SESSION_ID=1 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SHELL=/bin/bash Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SSH_CLIENT=67.85.54.145 4186 22 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SSH_TTY=/dev/pts/0 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap USER=ictfs-admin Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap MAIL=/var/mail/ictfs-admin Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap PWD=/home/ictfs-admin/build Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LANG=en_US.UTF-8 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap HOME=/home/ictfs-admin Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LOGNAME=ictfs-admin Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SSH_CONNECTION=67.85.54.145 4186 10.0.2.14 22 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LESSOPEN=|/usr/bin/lesspipe %s Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap XDG_RUNTIME_DIR=/run/user/1000 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LESSCLOSE=/usr/bin/lesspipe%s%s Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap _=/usr/bin/node Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap OLDPWD=/home/ictfs-admin Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap ant notfound Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap clangnot found Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap cmake not found Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap curl=/usr/bin/curl Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap gitnot found
  • 3. Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap jake=. Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap javanot found Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap make=/usr/bin/make Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap mdtool notfound Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap mdtool notfound Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap mvnnot found Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap node.js=/usr/bin/node Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap node.js=/usr/bin/nodejs Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap npm=/usr/bin/npm Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap gulpnotfound Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap python=/usr/bin/python Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap python3=/usr/bin/python3 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap sh=/bin/sh IC-TFS-BA-03Lin Creatingwork folder... Creatingenv file ... Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap XDG_SESSION_ID=1 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SHELL=/bin/bash Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SSH_CLIENT=67.85.54.145 4186 22 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SSH_TTY=/dev/pts/0 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap USER=ictfs-admin Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap MAIL=/var/mail/ictfs-admin Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap PWD=/home/ictfs-admin/build Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LANG=en_US.UTF-8 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap HOME=/home/ictfs-admin Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LOGNAME=ictfs-admin Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap SSH_CONNECTION=67.85.54.145 4186 10.0.2.14 22 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LESSOPEN=|/usr/bin/lesspipe %s Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap XDG_RUNTIME_DIR=/run/user/1000 Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap LESSCLOSE=/usr/bin/lesspipe%s%s Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap _=/usr/bin/node Thu Aug13 2015 14:55:33 GMT+0000 (UTC) : cap OLDPWD=/home/ictfs-admin Savingconfiguration ... 2015-08-13T14:55:33.451Z: AgentStarted. To quitthe agent,just pressCtrl-C.Youcan alwaysre-startitby runningnode agent/vsoagentagain.