[分享]如何自动化地将NUGET的package拷贝到极狐GitLab的package-registry

GitLab新增Package Importer这个CLI工具,该工具能够自动拷贝NUGET中的package到GitLab的package-regsitry;

该工具能依据config.yml自动生成package克隆的子流水线’child_pipeline.yml’;

Package Importer下载地址:Releases · GitLab.org / Ops Sub-Department / package-stage / Packages Importer 📦🏗️ · GitLab

在项目根目录中创建编写config.yml:

nu2gl:
  type: npm
  source:
    url: https://www.nuget.org/packages
    credentials:
      token: <使用原包管理器的token>
  destination:
    url: http://owen-jh.xouyang.xyz/api/v4/16/packages/npm
    credentials:
      token: <GitLab Token>
  packages:
    "Newtonsoft.Json": 
      - 13.0.3
      - 13.0.2
      - 13.0.1

创建.gitlab-ci.yml引用远程模板:

include:
  - remote: 'https://gitlab.com/gitlab-org/ci-cd/package-stage/pkgs_importer/-/raw/main/templates/gitlab/.gitlab-ci.yml'

提交以上内容,Pipeline中执行相应的子流水线。