A fully developed TA framework based on Tosca can potentially have many artefacts, such as:
- The Tosca version
- The Tosca repository (One would almost forget!)
- Tosca customizations in the form of .dll-s:
- Special Execution Tasks (SETs)
- Adapter Customizations
- Add-ins
- ODBC drivers for DB access
- Tosca (.tcs) scripts to run Tosca via the commandline
- PowerShell scripts which call the .tcs scripts
I am currently faced with the challenge of getting several scrum teams to start using a Tosca TA framework on a daily basis. This means that the framework userbase will increase from 2-4 TA project members which are intimately familiar with the product to 10-20 testers and devs which aren't. And, oh yeah, somewhere amidst all that a CI/CD pipeline will also be set up which will run Tosca scripts as part of its automated testing suite.
We clearly need:
- A way to 'push' artefact updates to the (vastly increased) userbase
- Version control on the artefacts
After a bit of research we have decided to go with the "Chocolatey, NuGet, Artifactory, OneGet" stack of technologies to try and implement this. I have next to no experience with these technologies so this should be interesting.
(Note: The technology of our company is predominantly Microsoft based (Windows desktops, Windows servers, C# .NET applications) which has been taken into account when choosing these tools.)
Update:
Ok, let's see if we can get a proof of concept going. We're going with:
- A powershell script which calls an...
- Executable which in turn calls
- UniversalGreeter.dll which reads the target of its greeting from a
- universalgreeter.config file which contains the word 'World'
Goal #1
- Squeeze all that in one NuGet (using OneGet?)
- Commit the NuGet to Artifactory
- Pull the NuGet from Artifactory for a local install
- I have as yet no idea where Chocolately comes into play here
Goal #2
- Same as Goal #1 but with added version history
- Including being able to install olders version (a rollback scenario)