Skip to main content

πŸ“¦ 8x8 Work App Deployment via Script (macOS)


This guide walks you through how to deploy the 8x8 Work app on macOS using a custom bash script. This is ideal for environments managed via Meraki or other MDM tools.


πŸš€ Deployment Script Overview

The following script will:

  1. Remove any existing version of 8x8 Work.app
  2. Download the latest installer from 8x8's official server
  3. Mount the DMG
  4. Copy the app into /Applications
  5. Unmount the DMG
  6. Log each step into /tmp/8x8_install_status.log
#!/bin/bash

APP_PATH="/Applications/8x8 Work.app"
LOG_FILE="/tmp/8x8_install_status.log"

echo "Starting 8x8 installation status log" > "$LOG_FILE"
date >> "$LOG_FILE"

if [ -d "$APP_PATH" ]; then
  echo "Removing existing 8x8 Work.app" | tee -a "$LOG_FILE"
  rm -rf "$APP_PATH"
fi

if curl -L -o /tmp/8x8Installer.dmg https://work-desktop-assets.8x8.com/prod-publish/ga/work-dmg-v8.21.3-1.dmg; then
  echo "Download complete" | tee -a "$LOG_FILE"
else
  echo "Download failed" | tee -a "$LOG_FILE"
  exit 1
fi

if hdiutil attach /tmp/8x8Installer.dmg; then
  echo "Disk image mounted" | tee -a "$LOG_FILE"
else
  echo "Failed to mount disk image" | tee -a "$LOG_FILE"
  exit 1
fi

if ditto "/Volumes/8x8 Work/8x8 Work.app" "$APP_PATH"; then
  echo "Application copied to /Applications" | tee -a "$LOG_FILE"
else
  echo "Failed to copy application" | tee -a "$LOG_FILE"
  exit 1
fi

if hdiutil detach "/Volumes/8x8 Work"; then
  echo "Disk image unmounted" | tee -a "$LOG_FILE"
else
  echo "Failed to unmount disk image" | tee -a "$LOG_FILE"
  exit 1
fi

if [ -d "$APP_PATH" ]; then
  echo "8x8 Work.app installed successfully in /Applications." | tee -a "$LOG_FILE"
else
  echo "Installation failed" | tee -a "$LOG_FILE"
  exit 1
fi

πŸ“– How to Check Installation Logs

The script logs its progress in a plain text file located at /tmp/8x8_install_status.log.

πŸ” View Log Contents

cat /tmp/8x8_install_status.log

πŸ“œ View Log with Paging

less /tmp/8x8_install_status.log

πŸ‘€ Follow the Log in Real Time

tail -f /tmp/8x8_install_status.log

❗ Search for Errors

grep "Failed" /tmp/8x8_install_status.log

βœ… You’re now equipped to deploy and verify the 8x8 Work app installation on macOS systems using a scripted process. Happy deploying!


🧠 Line-by-Line Explanation of the Script

#!/bin/bash

Shebang β€” Tells the system to run this script using the Bash shell.

APP_PATH="/Applications/8x8 Work.app"
LOG_FILE="/tmp/8x8_install_status.log"

Variable definitions:
APP_PATH stores the expected location of the app.
LOG_FILE defines where the script logs its status messages.

echo "Starting 8x8 installation status log" > "$LOG_FILE"
date >> "$LOG_FILE"

Logging:
Creates a new log file and adds the current date/time.

if [ -d "$APP_PATH" ]; then
  echo "Removing existing 8x8 Work.app" | tee -a "$LOG_FILE"
  rm -rf "$APP_PATH"
fi

Remove old version:
Deletes the existing app if present, and logs the action.

if curl -L -o /tmp/8x8Installer.dmg https://work-desktop-assets.8x8.com/prod-publish/ga/work-dmg-v8.21.3-1.dmg; then

Download the installer:
curl fetches the installer and saves it locally.

  echo "Download complete" | tee -a "$LOG_FILE"
else
  echo "Download failed" | tee -a "$LOG_FILE"
  exit 1
fi

Log download result:
Logs success or exits if the download fails.

if hdiutil attach /tmp/8x8Installer.dmg; then

Mount the DMG: Makes the downloaded disk image accessible.

  echo "Disk image mounted" | tee -a "$LOG_FILE"
else
  echo "Failed to mount disk image" | tee -a "$LOG_FILE"
  exit 1
fi

Log mount status and handle failure.

if ditto "/Volumes/8x8 Work/8x8 Work.app" "$APP_PATH"; then

Install the app:
Uses ditto to copy the app from the DMG to /Applications.

  echo "Application copied to /Applications" | tee -a "$LOG_FILE"
else
  echo "Failed to copy application" | tee -a "$LOG_FILE"
  exit 1
fi

Log copy status:
Verifies whether the copy worked.

if hdiutil detach "/Volumes/8x8 Work"; then

Unmount the DMG: Clean-up step after installation.

  echo "Disk image unmounted" | tee -a "$LOG_FILE"
else
  echo "Failed to unmount disk image" | tee -a "$LOG_FILE"
  exit 1
fi

Log unmount result.

if [ -d "$APP_PATH" ]; then

Final verification: Confirms the app exists post-install.

  echo "8x8 Work.app installed successfully in /Applications." | tee -a "$LOG_FILE"
else
  echo "Installation failed" | tee -a "$LOG_FILE"
  exit 1
fi

Log final result β€” Either success or failure.