Automated Deployment for Roku: Is there a better way?

Hi everyone!
I’m new to Roku development and don’t have much experience with the language. I created a script to automate the deployment of my Roku app. It zips the app, sends it to the Roku device, and triggers the installation process. Here’s the script:

#!/bin/bash

WORKSPACE="app"
IP="YOUR ROKU IP"
PASSWORD="YOUR PASSWORD"
CURRENT_DIR=$(pwd)
ZIP_FILE="$CURRENT_DIR/app.zip"

if [ ! -d $WORKSPACE ]; then
  echo "Error: '$WORKSPACE' directory not found."
  exit 1
fi

cd $WORKSPACE && zip -r "$ZIP_FILE" . && cd "$CURRENT_DIR"

if [ ! -f "$ZIP_FILE" ]; then
  echo "Error: app.zip not created."
  exit 1
fi

response=$(curl -s -w "%{http_code}" -o /dev/null --digest -u "rokudev:$PASSWORD" \
  -F "mysubmit=Install" \
  -F "archive=@$ZIP_FILE" \
  "http://$IP/plugin_install")

if [ "$response" -eq 200 ]; then
  echo "Installation successful!"
  telnet "$IP" 8085
else
  echo "Error: response code $response"
fi

Is there any better or more automated way to deploy Roku apps directly, especially for development purposes? Since I’m new to this, I’d appreciate any suggestions or guidance! Thanks a lot!

Hey! I would highly recommend looking at the BrightScript Language Extension for VS Code. It is by far the most feature rich debugger and has full support for sideload and debugging your code built in.

if you are looking for a tool for just sideloading to the device or making signed packages you should look at the roku-deploy node module. This is the code module used by the extension and have been thoroughly tested and used by the community at this point.

roku-depoy is what I recommend. I used it with our cloud-hosted Roku device and automate my build and signing process. it automatically creates a GitHub Release with the signed package attached.