Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Hardware Hosting technologies have also modernized in recent year as bare metal public cloud has been emerging.  While it is anticipated that there will always be some magic hardware, there are new opportunities that may dramatically reduce the amount/costs while improving the reliability of services.

Summarized Results

SCM

GitHub and GitLab are the dominant tools for SCM that satisfy the requirement of easy to use and popular. There are many choices but either of these would be good. Bit Bucket Bitbucket is also very popular but is more commercially oriented. GitLab has a slight edge since it can also be run in corporate environment behind the firewall and meet corporate community developer requirements with a consistent git history.

CI/CD

CircleCI for GitHub and GitLab-CI are the dominant tools that are most compatible with their respective SCM systems. There are more options in this space than SCM and it personal project bias might influence a project to use either CircleCI or GitLab-CI

Artifact Repository

DockerHub Docker Hub was the preferred docker repository hands down. Many projects are already moving to dockerhub Docker Hub for the released containers.

Packagecloud.io provides apt/yum/maven repos as a service.  FD.io is in the process of switching to it for apt/yum, and has had very happy experiences with it.

...

For all hosted solutions we recommend:

       Github  ->  Circleci  ->  packagecloud CircleCI  ->  Packagecloud

Some projects may need premises versions for compatibility with corporate build environments

    Gitlab  -> Gitlab-CI  -> Packagecloud

For legacy projects and those who need Gerrit for legacy code (C/C++) then  we recommend:

    Gerrit  -> Jenkins   ->  Nexus    GITLAB  > GITLABci  -> packagecloud

If non-standard hardware resources are required in addition:
       Github  ->  Circleci  CircleCI (for normal jobs)   ->  packet.netPacket ( several possible launching methods including terraform)  -> packagecloudPackagecloud

If even more specialized hardware is needed:
     GitHub Github -> circleci   CircleCI                                                                                -> packagecloudPackagecloud
                 ->  drone.io server launching on nomadproject.io cluster    ^

The above tool chains have been used and work.

As projects move onto a new tool chain, LF business agreements are established  with them and LF and the community develops more expertise with a preferred workflow then a specific path will be more clear.


Should the TAC recommend to member projects that they move off Gerrit/Jenkins/Nexus and onto a new tool chain ?

...