psake / psake-vsts

MIT License
7 stars 3 forks source link

Centralised PSake build scripts and tasks #8

Open mattritchie opened 6 years ago

mattritchie commented 6 years ago

Hi PSake-VSTS,

We have an onpremise set of psake build and deploy scripts that we share across all of our repositories, The set of scripts are in the build script repo. So 100+ code repos with one set of scripts. Each 100+ repo is different, but by convention we have webapps, services, consoleapps etc building, deploying and installing across many different machines.

I've just setup of first repo in VSTS and installed the psake task from the marketplace, it's asking me to configure the psake file path which is not possible as there is no psake files at all in our code repos.

Our environment configuration settings are stored in another repo, which our psake looks up for settings, so i'm thinking i need to use a feature inside VSTS to handle settings and configuration.

Any advice our guidance as to how I can configure a similar situation in VSTS with reusing our conventions inside psake and vsts?

We've invested a lot of time into our psake scripts and i'm hoping to not have to abandon them, or use a copy inside each repo, or completely rebuild our conventions inside.

I know i need to completely redesign the deploy side of these scripts, but i'd like to reuse the conventions of the build scripts to abstract and simply this transition.

Any advice or pointers to the concepts that I need to understand inside VSTS would be greatly appreciated.

Regards, Matt

qetza commented 6 years ago

Hi Matt,

If i understand correctly you have locally 1 repos containing all your psake common build scripts and then 100+ repos containing your code which you build using your common build scripts. Locally when you build, do you run the scripts from your build repos location or do you copy them in your code repo first?

If you need to have both repos on your server to compile unfortunately this will not work in VSTS builds as you can only configure one repo to get source from. One possible solution would be to use git sub module feature to include your build repo as a sub module in your code repo then you would have both repos file on your build server.

mattritchie commented 6 years ago

Hi Guillaume, We don't copy them into the repo first. We have the psake build scripts in the PATH of the machine so they can appear at the command line in each repo. Saves on mb's on the disk too.

Submodules is a great idea and i could test that locally as well as on VSTS.

We might have some issues with making the same exact set of scripts work as we run our "build" command on the root of the folder next to the solution, i suppose we could run cmd> buildscripts\build.bat at root of sln

Cheers! Plenty to think about now! Matt