Skip to content

Use of CircleCI "Github App" -intrinsic authentication, https: ...not SSD or Oauth or Deploy keys #1369

@rgleason

Description

@rgleason

Some wise guy is likely to tell me I am way behind the times here.
Just stop before saying anything further and think about
"Why wasn't he made aware of this change? Perhaps I should have advised him and others using OpenCPN!"

Secondly this is not fully detailed or described. I just discovered it today and ran a successful build of Findit_pi using the
CircleCI Github App after adding the Circleci Github App to my Circleci account, and then adding and configuring a new Pipeline in Findit which uses the Github App. I then manually triggered a build using the Github App (which has intrinsic authentication). I believe the use of https:// for download is perfectly acceptable and does not then open the door to unwanted users triggering the builds and deployments.

The use of the Github App eliminates:

  • Need for separate Oauth Keys for each plugin or use of SSH,
  • Simplifies CI Setup for new developers because they just have to configure their Cloudsmith Deployment key.
  • Requires changing circleci/config.yml and ci scripts to use https:// to download repos.
  • This is actually quite easy if you use a validator and a command such as https-checkout
commands:
    https-checkout:
      steps:
        - checkout:
            clone:
              ssh: false
    deploy-code:
        parameters:
            install_python:
                type: boolean
                default: false
            deploy_use_orb:
                type: boolean
                default: true

.

  1. Use of the CircleCI Github App is recommended over using OAuth.
  2. Old Github repos are likely to be using Oauth for authentication which requires a separate key for each plugin, and uses SSH git@github.com to download the repo.
  3. Old Github repos can enable the newer CircleCI Github App and run separate pipelines using the Github App.
  4. These pipelines are best used with config.yml scripts that call for https:// to download the repo from github therefore the script may require adjustments. The findit_pi config-https.yml is an example that works.
    6.Keeping the old Oauth circleci pipeline is perfectly ok.
  5. I have only manually triggered the build from within my Circleci account. Circleci Github App has this ability now.
  6. There are other techniques to trigger it to build from github.

The build is here https://github.com/rgleason/FindIt_pi The two android did not build so it shows X. All the other builds worked.
After installing Github App in your Circleci Account, you then add a new pipeline in the plugin you wish to build.

I will show some screen shots which may be helpful. It is NOT a full description however.

Image

VCS Integration https://circleci.com/docs/guides/integration/using-the-circleci-github-app-in-an-oauth-org/

https://circleci.com/docs/guides/integration/using-the-circleci-github-app-in-an-oauth-org/

Image

https://circleci.com/docs/guides/integration/oss/

https://circleci.com/docs/guides/orchestrate/triggers-overview/#run-a-pipeline-from-the-circleci-web-app

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions