Using Git to Version Control Your JSS - Using Git-ception

Josh_S
Contributor III

I just released a project that I've been working on for a while, and mentioned during my JNUC API talk, that utilizes the JSS API to automatically merge changes that are made to git repositories. Effectively version controlling aspects of the JSS. I have included two git hooks, one to manage Extension Attribute objects and another to manage Script objects.

I hope the JAMFNation community finds this useful. It requires JSS 9.62 due to required API calls.

UPDATE:
Unfortunatley, I was asked to pull down this repository for internal reasons. And, shortly thereafter, I transitioned onto a different team and no longer work with the JAMF toolset. I had hoped that my old team would have been able to Open Source this in my absence, but it doesn't appear like they have been able to, and I'm not at liberty to do so at this time. My apologies to everyone still looking for this. I know there's a few copies floating around prior to me having to pull it down, and it was released under the BSD license which allows redistribution, with or without modification...

15 REPLIES 15

mrowell
Contributor

Josh this looks fantastic. Thanks for sharing.

davidacland
Honored Contributor II
Honored Contributor II

Awesome! Is it designed to work with a single JSS or can it be used to control lots of them?

Josh_S
Contributor III

@davidacland

As the provided hooks are currently written, it is designed to control 2 JSS per repository: a testing/staging JSS tied to the 'develop' branch and a production JSS tied to the 'master' branch. It would be relatively trivial to add additional JSS/branch associations. But, if you intend to manage multiple production JSS instances, I would have different repositories for each production environment. You still only need one 'git-ception' repository which can control all of the multiple script and extension attribute JSS repositories. You just need to name the hooks correctly so that they are copied into the correct repositories on your server.

davidacland
Honored Contributor II
Honored Contributor II

Cool, thanks for the info. Looks very interesting.

RaulSantos
Contributor

Does any one have a copy of Git-ception @Josh_S I notice its gone from the github.

Thanks

Chris_Hafner
Valued Contributor II

I'd be interested as well!

apizz
Valued Contributor

+1

colindeeb
New Contributor

@Josh_S Does this repo still exist? I'm getting a GitHub 404 error when I try to reach the project page.

mm2270
Legendary Contributor III

Seems they are looking to move it elsewhere.
https://github.com/Expedia-IT-CTE/Expedia-IT-CTE

NoahRJ
Contributor II

@mrowell or @davidacland, might you still have copies of this repo or this work anywhere that you could share out? Looks like @Josh_S hasn't moved it to the new Expedia repo yet.

Thanks!

dustin_liddick
New Contributor

Any word on this or pointers on it? Would really like to integrate this in our environment.

JS_WWU
New Contributor III

I know this is a bit old, but would be interested to see how folks integrate with Git or other version control.

jkeller13
New Contributor III

Long shot, but, does anyone still have a copy of this for reference? TIA

NoahRJ
Contributor II

We came across what looks to be a different repo (but does the same thing) here: give it a once over and see if that works for your needs: https://github.com/BadStreff/git2jss/

dfarnworth_b
New Contributor III

Has anyone ever found or written anything similar to @Josh_S 's solution?
I am looking at options to better change control and automate our environments and have long seen something like this as the nirvana.