Publishing Methods for Connect

There are three ways to publish content to Connect:

Diagram showing three means of publishing to Connect: Push button; git-backed; and API-backed

Push-button publishing

This publishing method is useful for data scientists who want to publish content directly from their development environment.

A reproducible bundle with application code and dependencies is automatically created during push button publishing. The bundle is deployed to Connect where the data scientist can finalize publication settings.

Push button publishing is available in the RStudio IDE and Jupyter Notebooks. While there currently is no “button” to deploy other types of Python content, a Python CLI tool can be used for one-step Python deployment of Python applications and APIs.

Git-backed publishing

Git-backed publishing is useful as a lightweight continuous deployment solution when data scientists want to use Git for version control.

Diagram showing one-time setup of linking Connect to a git repository; Committing code changes to the git repo; and Connect tracking changes and deploying updates.

git-backed-publishing

To deploy content directly from Git, data scientists configure Connect to track a particular branch and directory in a Git repository. Once setup, Connect will poll the repository for changes and automatically deploy updates so the code base and deployed content are always in sync.

Connect can publish content from private Git repositories. Add a service account to the repositories, and add the credentials of this service account to the Connect configuration file, an action that requires the server administrator.

Git-backed deployment does not support running tests prior to deployment. To take advantage of continuous integration workflows, employ API-backed publishing, as described below.

API-backed publishing

Deploying content with the Connect API is the most flexible deployment method but also requires the most setup. In API-backed publishing, an external CI/CD system pushes content updates to Connect using the Connect Server API. A benefit of this method is the ability to add tests and other pre-deployment activities commonly found in CI/CD pipelines. The Connect Server API allows teams to fully automate most actions that would otherwise be done manually in the Connect web interface such as:

  • deploying content
  • adding users to content
  • customizing runtime settings

The API endpoints can be called directly or teams can integrate client packages like rsconnect-python or connnectapi into their CI/CD systems. An example workflow might include these steps:

Deployment Steps for API-backed publishing showing User building content, creating a manifest file and committing it to version control, then the API creates a new item, uploads the bundle to connect and deploys.

deployment-steps

A few examples:

Back to top