Skip to content

Process: CI Outline #451

@rgleason

Description

@rgleason

TestPlugin Development Manual

Overview

  1. Plugin System Structure
  2. Deployment Overview
  3. Translations Internationalization (i18n) Process

Cloud Services

  1. Github Plugin Repository Example repo using TestPlugin Template
  2. Cloud Services Register for free opensource accounts used in the process Github, CircleCI and Cloudsmith.
  3. Cloudsmith Deployment Setup Save your CLOUDSMITH_API_Key for use in CircleCI.
  4. CircleCI Account Add your CLOUDSMITH_API_KEY to your CircleCI project under Environmental Variables.
  5. CircleCI "Github App" Pipelines do NOT require a GIT_REPO Environmental Variable. This is handled internally by the app.
  6. Setup of CircleCI "Github App" and Pipelines and Triggers.
  7. Delete any old Oauth or SSH Pipelines as builds will fail trying to run SSH checkout. See item above.
  8. After installing Circleci "Github App" many Github settings are automatically set. From Github > [plugin_pi] > Settings > Left menu Integrations - Github Apps selection. Choose "Configure" "CircleCI Github App" to see that "Permissions" are already configured:
  • Read access to metadata - for branch names, SHAs and PRs.
  • Read and write access to code, commit statuses, issues, and pull requests - for Communication of build conditions, and to files located at .circleci/config.yml to literally run the pipeline.
  • Under Repository access select All repositories or Only select repositories.
    To see the status of CircleCI workflows under the Pull Request Checks tab in the GitHub UI. With checks enabled, users will now be able to go to the Checks tab in GitHub to view the full hierarchy and status of CircleCI builds.

Using the CircleCI "GitHub App" - The modern solution.

  1. Tokens are issued correctly
  2. Github settings are automatically set.
  3. CircleCI downloads of the git repo will use https:// instead of SSH git@github.com
  4. CircleCI can clone your repo without any extra variables
  5. It is safe to remove: Any SSH key setup, any deploy keys, the circleci GIT_REPO key, any manual git clone https://github.com/... stepsReview Authorization Keys

Get your CLOUDSMITH_API_KEY and enter it into CircleCI so that deployment of files to Cloudsmith will succeed.
CLOUDSMITH_API_KEY Generation and Use

In CircleCI under your project plugin, set the Environment Variables

What is this saved for later reuse? https://opencpn-manuals.github.io/main/ocpn-dev-manual/0.1/pm-tp-dev-setup.html#_cloudsmith_repositories_examples

Reference links for Editing
https://github.com/opencpn-manuals/development/blob/main/modules/ROOT/pages/pm-tp-system-structure.adoc
https://opencpn-manuals.github.io/main/ocpn-dev-manual/0.1/pm-tp-template.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions