Cloudsmith

Cloudsmith is the deployment repository which hosts the tarballs and metadata files that form the heart of the managed plugin system.

1cloudsmith.jpg

Sign Up

This is easiest using your GitHub account. Signing up is free and you start a ``Free Trial''. You will get an email from Cloudsmith after a few days:

Just a friendly reminder that your trial subscription on Cloudsmith to the Package (FREE) plan is due to run out 2 days, 23 hours from now.

The paid plan is not necessary. The extra features are not required for creating repositories for your plugin.

Joining the Cloudsmith OpenCPN organisation

This step is optional. A membership is not required to create repositories, but makes it possible to create them in the same area as some other plugins. However, creating the same repositories without being part of the organization works just fine.

To Join Send an email to Rick Gleason, Jon Gough or Dave Register requesting an invite. This will then be generated by Cloudsmith. FIXME: email addresses needed…

Good news! You’ve been invited by Rick Gleason (@rick-gleason) to be a member of the OpenCPN (@opencpn) organization at Cloudsmith.

What can members do? They can see other members and visible teams, and inherit privileges from the org and team membership..

You’ll need to login to your account to accept or reject the invite: https://cloudsmith.io/user/login/

After you login you will automatically find the invite within the organization invites section of your user settings: https://cloudsmith.io/user/settings/orgs/invites/

If you accept the invitation then your user account will join the OpenCPN (@opencpn) organization at Cloudsmith. Please note that because this invitation was sent to Mike Rossiter (@mike-rossiter) only that specific account will be able to accept the invitation.

This gives member rights which allows setting up repositories on Cloudsmith for the tarballs and metadata files built by the virtual machines.

Once the invite is accepted you will see the OpenCPN organisation details.

2cloudsmith.jpg

Many repositories have packages already in place.

Create the repositories.

As mentioned, this works in the same way if using the cloudsmith organization or not. Eventually, three repositories could be configured. The names are formally arbitrary, but usually named like

  • Tidefinder-Alpha ur tidefinder-unstable: This is basically a scratch build repository.

  • Tidefinder-Beta: The repository for beta builds.

  • Tidefinder-Prod or tidefinder-stable: The repository for stable builds i. e., builds published to end users.

The beta repository is not required, just using two repositories like stable/unstable also works fine.

3cloudsmith.jpg To create the repositories for TideFinder click the plus sign at the right of the screen.

4cloudsmith.jpg

Enter the details for the repository starting with the alpha (unstable) repo.

5cloudsmith.jpg

Repeat for the beta and prod (stable) repositories.

6cloudsmith.jpg

Three repos have been created.

7cloudsmith.jpg

While we are working with Cloudsmith it is useful to adjust the lifecyle setting for the repositories. Use Admin Access to each repo.

8cloudsmith.jpg

The only setting needed is Retention Rules.

9cloudsmith.jpg

Disable the `Limit By Days' and press the Update button.

Summary of settings *Plugin-alpha, Limit by days = 28, Limit by count=100, Limit by size = 0 Plugin-beta, Limit by days = 0, Limit by count=100, Limit by size = 0 Plugin-prod, Limit by days = 0, Limit by count=526, Limit by size = 0 Using a "0" means "disabled"

10cloudsmith.jpg

Repeat for the beta and prod (production) repositories.

While using Cloudsmith make a note of the API Key. This can be copy/pasted to a file on your PC for use later. 11cloudsmith.jpg