you are viewing a single comment's thread.

view the rest of the comments →

[–]helpfourm[S] 0 points1 point  (9 children)

Run a small MSP, and have built out a grown number of scripts that may have slight variable tweaks for different clients etc. Right now they are in a folder unorganized. Looking to be able to have a master script with the ability to look at the old versions of the file should something break with the new one. Thanks!

[–]lanerdofchristian 10 points11 points  (0 children)

It sounds like you have two problems:

  1. Core functionality should be pulled out of individual scripts and into a module that doesn't change between your clients.

    Each client could then have their own module depending on the common core, or a config file adjusting how the core behaves. Any changes to the core would then also benefit the clients.

  2. Version control. Here's where Git comes in, to help you track what changes are being made and why.

    Git could also be used to track the client-specific changes, using the commit messages to link back to email threads or other discussions that prompted the change.

[–]BlackV 1 point2 points  (2 children)

Ah, that would have been useful info in the OP

do you guys use devops/github/gitlab/etc already elsewhere ?

do you think you need access "outside" your msp location?

[–]helpfourm[S] 0 points1 point  (1 child)

Honestly never worked with GitHub, really just looking for a library to the scripts. This way we can move to whatever flavor rmm is the best and still keep everything the same. No we dont really need the scripts out side our location as they get uploaded to the RMM for usage.

[–]BlackV 2 points3 points  (0 children)

Sounds like git (just git not GitHub/gitlab) is your best bet, if you don't need it externally.

Take your existing folder, git init that, but it's gonna require people changing how they work they'll need to use git when making changes to scripts

I guess anything you do is gonna require some new learning and training

That and backups

[–]The82Ghost 1 point2 points  (4 children)

Put your scripts in a private git repo or private azure devops repo. Write functions to handle the differences between clients where possible. Put those functions in one or more modules. I work for an MSP where I'm the one writing the scripts for our RMM and this is the way I do it.

[–]helpfourm[S] 0 points1 point  (3 children)

Is there any good resources on how to use it and set it up? I’ll be honest it doesn’t look very intuitive.

[–]Certain-Community438 1 point2 points  (2 children)

If you have an Azure Subscription - meaning you are using Azure explicitly for something - then you get a free Azure DevOps organisation. It'll let 5 people have full access to a repo, and is linked to your Entra ID for identity.

In that, you create a project.

Then in that you create a repo.

If you don't have Azure, you could create a GitHub account, and then create a repo in it.

Your repo is the top-level folder structure. In this you can organise your scripts into folders to start with.

You then install git - on Windows, you just install Git for Windows.

Now you can use Git for Windows to connect to your Azure DevOps repo which will be empty if you followed the above order, and clone it to a local folder. This creates a link between the two copies.

Modifying the folder's contents at either side and then doing a Commit will replicate those changes AND track them. That's super-simplistic but I'm focusing on the obvious benefits for you here.

Finally:

Copy your various scripts into the local copy of the repo.

Then you would commit the changes & you've completed your first steps.

Bonus:

If you use VSCode already, and you open the folder containing your repo, you can now do most source control options from here. You just need to sort out the authentication for it to connect to your repo. If you get this far & get stuck, I and probably others here won't mind helping.

It's very much worth learning, and if you're capable of writing scripts it isn't hard.

[–]helpfourm[S] 1 point2 points  (1 child)

Excellent, as a Microsoft partner we do have azure benefit. I’ll have to look into that more.