-
Notifications
You must be signed in to change notification settings - Fork 0
Deploying xolo
These instructions are pretty barebones to start with. They'll be expanded as more folks install and use Xolo.
The xolo command-line tool is used on managed Macs to access some of the extra features of xolo.
It is a single-file zsh script, and is mostly a wrapper around various jamf policy commands.
Because Xolo sits on top of Jamf's own deployment and patch management, you can use Xolo to install xolo
Here's how!
(this is also a simple tutorial for deploying anything with Xolo)
- Set up your Xolo Server
- Install xadm
- Get a copy of the xolo zsh script
- Create a 'version-script' so Jamf knows what version is installed
- Add it as a title to Xolo
- Package it up
- Add the version to Xolo
- Pilot on a few machines
- Release it
- You can get it by running
xadm save-client- It will be saved to
/tmp/xolo - Its version is the same as the
xadmthat saved it-
/tmp/xolo --versionwill display it -
xadm --versionwill display it
-
- It will be saved to
Save this in a file somewhere, make adjustments as needed. It will become an Extension Attribute in Jamf Pro (two, actually)
#!/bin/zsh
[[ -x /usr/local/bin/xolo ]] && res=$(/usr/local/bin/xolo --version)
echo "<result>$res</result>"It is probably unwise to call it xolo since everything xolo-related in Jamf is prefixed with xolo-. At Pixar, we call this title xoloclient
xadm add-title xoloclient \
--display-name 'Xolo Client' \
--publisher 'Pixar Animation Studios' \
--version-script '/path/to/script/saved/above' \
--release-groups all \
--contact-email '[email protected]' \
--description 'Command-line tool for working with xolo titles and versions on managed Macs.'Since we want to be able to deploy it via MDM using xadm, we need to make a 'distribution` package, which contains a 'component' package.
This folder represents the boot drive of the mac where the .pkg is installed. We'll be installing xolo into /usr/local/bin
mkdir -p '/path/to/new/root/folder/usr/local/bin'mv /tmp/xolo '/path/to/new/root/folder/usr/local/bin/'If you have an installer signing certificate installed in your keychain, add the --sign option
/usr/bin/pkgbuild \
--root '/path/to/new/root/folder' \
--identifier 'com.pixar.xoloclient' \
--version $(xadm --version) \
--install-location / \
/tmp/xoloclient-component.pkgIf you have an installer signing certificate installed in your keychain, add the --sign option
If your xoloserver is configured to sign packages, it will sign this one, but not the embedded components
/usr/bin/productbuild \
--component /tmp/xoloclient-component.pkg \
--identifier 'com.pixar.xoloclient' \
--version $(xadm --version) \
--install-location / \
/tmp/xoloclient.pkg This will use all default values. See xadm help add-version for more info.
xadm add-version xoloclient $(xadm --version) \
--pkg-to-upload /tmp/xoloclient.pkg- Wait a few minutes for everything to propagate and update
- Idenfity a few Macs to install it on
xadm deploy xoloclient $(xadm --version) computer-1 computer-2ssh user@computer-1 sudo jamf policy -trigger xolo-xoloclient-$(xadm --version)-manual-installRunning which xolo and xolo help should be enough to show it works
xadm release xoloclient $(xadm --version)Since the title is configured with the release-groups as all it will automatically be installed on all managed macs (except any exclusions you added to the title) the next time they check in.