Deploy Docker Images to Devices

A Deployment associates an Update Flow with a group of devices and defines the triggering that will start the software update.

This page describes how to create a deployment of Docker images based on the Update Flow created in Build Update Flow for Reuse. You can create the deployment in the web UI or using the Deploy Update API in the REST API. The procedures in this page relate to the web UI only.

Prerequisites

Before starting the procedures below, you need an update flow created according to the procedure in Build Update Flow for Reuse.

Get Started

  1. Go to Updates in the left sidebar and click the Update Flows tab.

  1. Go to the Update Flow you created in Build Update Flow for Reuse, and click New Deployment.

Select Devices

In the New Deployment window, the first thing you need to do is select the devices the deployment will run on. You can deploy the software update on your entire fleet at once or you can choose subsets of devices that will receive the updates. Under Deployment Will Run On, select the Group that is relevant to this software update.

  • Set App Version: Choose an app version and version number. (It might be useful to choose an app version name that is the same as the release bundle name.)

  • Schedule Deployment: Enter the date and time for the deployment to begin. JFrog Connect will trigger the deployment at the time you specify. If you don’t specify a time, the deployment is triggered immediately after you click Create Deployment in the web UI (or immediately after the API command is processed).

  • Alert on Update Fail: If there is a failure in the deployment process, you can receive alerts. To receive the alerts, complete the following:

    • Applied Channels: The channels over which you will be informed.

    • Aggregation Duration: The time period over which results of the deployment are collected from the devices in the fleet. The default is 10 minutes.

  • Comment: Add a comment indicating something important or something you want to remember about this deployment.

The definitions in the Deployment Configuration are optional, but we recommend that you use these to provide more certainty and insight as to the status of your deployment.

Configure Deployment

If you have a large fleet, you may choose to break up the software update into several deployments to different subsets. In this case, you deploy the workflow several times, each time changing only the group of devices in the Deployment. Deployments to subsets of devices can be according to any of the filter objects available, such as tags, device name, app version, and group.

Enter Parameter Values

Enter the values for the deployment parameters you defined in the update workflow. (If you are using the Deploy Update API, you will enter these parameters in your API call instead of in the web UI.)

Example A: Docker Containers

Some examples of deployment parameters and values are shown below for the Docker Containers action block.

Example Parameter Name Example Value

destination-path-on-device

/home/user/cool-app-files

compose-yaml-artifactory-path

generic-yaml/1.0/docker-compose.yaml

Example B: Release Bundle

Some examples of deployment parameters and values are shown below for the Release Bundle action block. If you entered parameters for custom paths, they would also appear in the Deployment Parameters list and you would need to fill in their values. (The table below does not have custom paths.)

Example Parameter NameExample Value

release-bundle-name

cool-iot-app

release-bundle-version

1.0

bundle-artifacts-device-path

/home/user/cool-app-files

artifactory-bundle-path

connect-docker-bundle/1.0/docker-compose.yaml

compose-yaml-device-path

/home/user/cool-app-files

Next time you deploy this workflow for software updates, you might use different values for one or more of the parameters above.

Create Deployment

Once you have filled in all the configuration and deployment parameters, click Create Deployment. The deployment will appear in the list of All Deployments, as shown below, and you can find the deployment status under the Deployment Summary.

What’s Next?

Learn how to configure your On Failure actions and Rollback policy.

Last updated