Continuous Integration with Dokku

Dokku is compatible with continuous integration (CI) and continuous deployment (CD) services that support git over SSH deployments. Some of the services we've reviewed and supported include the following:

  • Bitbucket Pipelines
  • CircleCI
  • CodeShip
  • GitHub Actions
  • Jenkins

Typically you'll need to generate a deployment key in the CI / CD service. This key should be stored as a secret/encrypted object in the respective service, and its scope should be limited to repositories associated with your Healthcare Blocks production environment. Then you'll create a support ticket, providing the public portion of the key and specifying which Healthcare Blocks application server should be associated with the key.

In the CI / CD configuration for your project, define a git remote pointing to your Healthcare Blocks server, e.g.:

git remote add hcb \
  dokku@server-id.healthcareblocks.com:my-app

(replace the values for my-server-id and my-app-name with the ones supplied to you when the server was provisioned)

Then define a step that will deploy code to your server, e.g.

git push hcb main

Finally, test your configuration by pushing code to the source control vendor associated with your CI / CD service, triggering a new build and release cycle.

Dokku GitHub Action

Please refer to https://github.com/dokku/github-action for official documentation. If you have any questions or need assistance with setup, please create a support ticket.