Download lastes version of Node.js. The production environment uses only 10.x.x or Node6 (by using the "Node" in the "execution" object instead of Node10).
Cross-platform CLI for Azure DevOps to package your extensions. You can install tfx-cli by using npm, a component of Node.js, by running npm i -g tfx-cli.
These steps should be done at least once and then as necessary:
Follow a regular steps to get end to end flighting up and running to call the api from the task.
Start the Redis server on your local dev box
Run \Program Files\Redis\redis-server.exe from an elevated command prompt
NOTE: Redis may fail to start producing this error:
Creating Server TCP listening socket *:6379: bind: No such file or directory
If this is the case, start the Redis client (redis-cli.exe), execute shutdown followed by exit, then restart the Redis server
Start the back-end e2eflight server by doing one of the following:
In VS Code, open the root folder for the repo and click the Debug tab. hit the play button to start the server
You will now have to select the 'Launch React Server' from the drop down to debug the new server
In a command prompt, run npm run start:server at the root folder of the repo
NOTE: This step is unnecessary if using the VS Code debugger to run the server
Open constant.ts and change stagingEnvironment to local (http://127.0.0.1:3001)
Open a command prompt to the root of the ..\aeroPackageUpload\aeroPackageUploadTask
Run npm install at the root of this project to install all of the node dependencies.
Enter "tsc" from the ..\aeroPackageUpload\aeroPackageUploadTask folder to compile an index.js file from index.ts.
Open a PowerShell to the root of the ..\aeroPackageUpload\aeroPackageUploadTask
Set input and environment variables
$env:INPUT_ProductId="{ProductId}"
$env:INPUT_FlightId="{FlightId}"
$env:INPUT_SubmissionId="{SubmissionId}"
$env:INPUT_SubmissionType="{SubmissionType}"
$env:INPUT_PackagePath="{PackagePath}"
$env:INPUT_AeroEnvironment="{Staging or Production}"
$env:INPUT_Configurations="{BuildSubmission??}"
$env:INPUT_SubmissionDataPath="{SubmissionDataPath}"
$env:INPUT_SYSTEM_ACCESSTOKEN="PAT is used as a password. AERO APIs use Basic Auth authorization to ensure that client requests access data securely"
$env:INPUT_Username="Admin"
Run the task with node index.js from PowerShell
Package your extension
All extensions are packaged as VSIX 2.0-compatible .vsix files. Microsoft provides a cross-platform command-line interface (CLI) to package your extension
Go to your extension's home directory (..\aeroPackageUploadTask)
Run the following command tfx extension create --manifest-globs vss-extension.json
Publish your extension
All extensions, including extensions from Microsoft, are identified as being provided by a publisher. If you aren't already a member of an existing publisher, you'll create one. If you aren't already a member of an existing publisher, you're prompted to create a publisher. If you're not prompted to create a publisher, scroll down to the bottom of the page and select Publish extensions under Related Sites.
Go to https://marketplace.visualstudio.com/manage to sign in to the Visual Studio Marketplace Publishing Portal.
Specify an identifier for your publisher, for example: APS-Aero-Package.
This identifier is used as the value for the publisher attribute in your extensions' manifest file.
Specify a display name for your publisher, for example: APS Aero Package.
Upload your extension
After creating a publisher, you can upload your extension to the Marketplace.
Find the Upload new extension button, go to your packaged .vsix file, and select Upload.
Upload your extension
Now that you've uploaded your extension, it's in the Marketplace, but no one can see it. Share it with your organization so that you can install and test it.
Right-click your extension and select Share, and enter your organization information. You can share it with other accounts that you want to have access to your extension, too.