Update TFS2017 task to latest version - node.js

I am working on a build to run a powershell script on a remote machine, using the VSTS task :
I currently am using TFS2017 on premise, and this is version 1 of that task.
There is a version 3 available on github here :
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks/PowerShellOnTargetMachinesV3
I am having an issue with this task failing, and I have read elsewhere that this version has a fix for my issue, so I want to update it if possible.
I tried a few ways to do this, but I cannot work out what I am supposed to be doing. You would think there would be an update button in TFS!
Well, there is, but it requests that you provide a .VISX file. Which the repo in GIT does not have.
I've tried running the steps in this other post:
How to update the built-in Microsoft task library in TFS 2017?
But running the command "npm run package -- --version " doesn't generate the VISX.
I tried running :
npm run package --PowerShellOnTargetMachinesV3 --version 3.1.3
That responds with the output:
5.6.0
Which I am not sure what to do with!
I have seen another post that says I need to use the tfs-cli?
I'm very confused.
Any help is appreciated!

Since you are working on TFS on-premise, the task version will not auto update. You need to manually install "PowerShell on Target Machines" task version 3.0
You just need to download the source code and package it as an extension, finally upload and install your extension. There are some steps updated:
Get the package tool (tfx-cli)
You can install or update the TFS Cross Platform Command Line Interface (tfx-cli) using npm, a component of Node.js, from your command line.
npm i -g tfx-cli
Package your extension in a .vsix file
tfx extension create --manifest-globs vss-extension.json
More details please refer this official tutorial: Package, publish extensions.

Related

Azure DevOps: Chocolatey, Install Google Chrome Issue

I am running selenium tests on Azure DevOps via the release pipelines. I am trying to specify the version of the Google Chrome i wish to use on the GUI, but when i declare it it fails straight away, but the Chocolatey website approves of the version. I am thinking maybe the syntax in which i am declaring the Google Chrome version is incorrect?
I also declared the version below, where it says "The version of the package that is to be installed", but it fails also.
Another question; is there a way to declare the width of Google Chrome for these tests when they are being ran via Azure DevOps?
The Chocolatey package website states that CLI command to install that specific version of Google Chrome is:
choco install googlechrome --version=86.0.4240.75
So my guess is that you should set googlechrome as the package id ("The id of the package(s) that are to be installed"), and 86.0.4240.75 for the version field.
As per #Adil Leghari's comment within Chocolatey GoogleChrome 86.0.4240.75 package page:
Just a heads up, there is a version mis-match on this package, and it may partly be the fault of Google. The Google Chrome Enterprise site lists the version as 86.0.4240.75, but the actual MSI package is stating a version of 68.36.75. This may be a problem for folks who are attempting to track and audit package versions.
Hence you must be facing the issue.
Solution
The latest published GoogleChrome version is 86.0.4240.193.
So as a solution you can either:
Specify The id of the package(s) that are to be installed as: GoogleChrome 86.0.4240.183
Else run the following command from the command line or from PowerShell:
choco install googlechrome --version=86.0.4240.193

Electron build for windows shows sqlite3 error. But same build for Ubuntu Works

Packed using: Electron-Packager
Database: sqlite
The app uses Knex as a driver to query to mysqlite.
The module which it says that it cannot find is already present! But then too the error shows up.
I tried to navigate to the resource/app and then use commands like
npm run rebuild
tried installing python, node and then tried but seems like it required some CL.exe file so had to dowload Visual Studio C++ packages too but unfortunately it didn't have that file in my case.
Also tried
npm install sqlite3 --build-from-source
but got error
Can anyone help me with the exact steps to take? I also need help in knowing do i have to take this steps on the package that is already build or before i build it?
The best possible fix i got is the build the system in windows and then deploy it for windows. You need to google at every step where it breaks and then fix it. There are many possibilities and hence i cannot describe it here.

TFS 2017 CI with Gulp

I have just set up a TFS 2017 server and am trying to go through the CI tutorial at https://learn.microsoft.com/en-us/vsts/build-release/apps/nodejs/build-gulp?tabs=vsts but am having trouble on the Gulp task. I am getting the error "Not found node: null". I am using an ubuntu agent with the most recent versions of node, npm, and gulp installed. All the tasks are configured exactly as described in the tutorial.
The error usually means you have an environment issue , such as node couldn't captured by TFS build agent.
For the Default agent queue:
VSTS: Select Hosted VS2017. This is how you can use our pool of agents that have the software you need to build your app.
TFS: Select a queue that includes a Windows build agent.
Source Link
If you are working with linux build agent, you need to use windows build agent instead of ubuntu(linux build) agent.
If you are working with windows agent, make sure the node, npm, and gulp installed before TFS build agent configured, otherwise the new capability will not captured.
You need to reconfigure the build agent or restart VSO agent service. Besides make sure your working directory of Gulp task is getting set properly.
I ended up uninstalling and reinstalling nodejs and npm. I believe the problem was that TFS did not sense the node.js and npm capabilities because I originally installed them using nvm, so the second time around I installed using apt packages and everything worked fine.

How to set Node.js and NPM version numbers in a hosted VSO Build Agent?

In Visual Studio Online you can now set build dependencies on the General tab of a build definition.
But.. is there a way to set the version of Node.js and NPM?
It seems like a hosted build agent is currently using Node.js v0.12.7 and NPM v2.11.3 but I need Node.js v4.2+ and NPM v3.3+. Is there a way to enforce it?
P.S.: On-premise VSO build agent is not an option.
There is now a Node Tool installer available. The link to software inventory shared by Daniel was very helpful, and I discovered the installer digging into the Node specs for Hosted VS2017 agent.
Finds or downloads and caches the specified version of Node.js and adds it to the PATH
Try adding a Node Tool installer step before your node/npm steps.
It seems like there's a lot of misunderstanding as to what "demands" are. A build with a specific demand does not change what software is available on the build agent. A "demand" is simply a method of a build task expressing what requirements it has, so it can run on an agent that has the desired demands satisfied (these are the build agent's "capabilities").
This list of software is what's on the hosted build agent. If it's not there, and you can't install it via npm or the like, then you're out of luck.

Node JS ./configure + make fails unable to remap python lib-dynload/itertools.dll to same address as parent

This might be more of a CYGWIN question than a Nodejs but here goes.
I installed Cygwin yesterday and on the packages selection I just clicked next as it looked like most were pre-selected, and then today read this guide http://boxysystems.com/index.php/step-by-step-instructions-to-install-nodejs-on-windows/ on installing nodejs.
The ./configure had an error that it was unable to remap python lib-dynload/itertools.dll to same address as parent. As the process still completed I tried the make command, but it fails on the same error.
So, I opened cygwin setup.exe and this time I clicked the source checkbox for all the Python packages. But still get the same error. Should I now go to Cygwin and check all the source packages for the Make packages, delete it and reinstall from scratch using the above guide. Or something else?
Any help gratefull received/
Use the official 0.5.x windows build from http://nodejs.org/#download - you just have to download a .exe file and you can start it.
Versions 0.5.X have problems with Cygwin and because of developing clean Windows version Cygwin environment is now unsupported. Stable version 0.4.12 builds on Cygwin with no problems. If you want to use node.js unstable 0.5.X branch on Windows use windows build at official node.js site.
check this out:
https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows)
Update Sept 1, 2011 -- as of today, v0.5.5 does not build on Cygwin (errors on make). Use v.0.5.4 (ie. follow instructions below and use "git checkout v0.5.4".
https://github.com/joyent/node/wiki/API-changes-between-v0.4-and-v0.6
Cygwin build is no longer supported. Use native windows builds instead.

Resources