Hello咱们好,我是不浪,坚持从工作和日子中不断学习,提炼,沉积,终究建立自己的强势领域!这是2024年输出的第2/100篇文章,欢迎志同道合的朋友一起学习沟通;

大众号:攻城师不浪
微信:brown_7778

因为这部分内容相对比较多,我将为咱们进行拆分解说,此篇为上,先来了解一下gitlab中的各种概念以及npm的一些参数装备解说,都装备好后会用指令行进行发布(假如这些内容都了解,请自行越过本章,直接看下一篇),话不多说,直接上手。

项目创立

创立组

在内网gitlab上创立一个组,相当于gitlab的scope(效果域),gitlab要求在它这里发布的npm包必须具有scope,比如你的组名叫hnc,那么你将来要发布的包的name需求命名为:@hnc/xxx

【保姆级教育】内网布置的gitlab,怎么经过CI/CD主动构建打包布置私有npm包(上)

创立项目

创立好组之后,在组里新建项目

  • uefe-api:该项目将用于uefe-api包库代码的代码存储库,这个是真正要发布的包的代码库,终究会将这个包发布到群组hncPackage&Registries中;

记住:每个独立的项目都算一个npm包

生成令牌(Deploy tokens)

项目创立完结之后,需求生成项目私有的认证令牌,咱们把uefe-api这个库作为咱们要发布的npm包,先生成它的Deploy tokens记住:不是Access tokens,我在这个坑爬了两天才出来);

token效果:最终发布npm包的时候需求用来认证

【保姆级教育】内网布置的gitlab,怎么经过CI/CD主动构建打包布置私有npm包(上)

  • read_package_registry: 答应对包注册表进行只读拜访;(要勾选,不勾选就无法上传更新代码)
  • write_package_registry: 答应对包注册表进行读写拜访;(要勾选,不勾选就无法上传更新代码)

重点:点击生成token之后,一定要将生成的页面仿制出来,不然页面再次刷新,你就看不到了!

【保姆级教育】内网布置的gitlab,怎么经过CI/CD主动构建打包布置私有npm包(上)

身份验证

两种方式:

  • 指令行认证
  • 包注册表认证:也便是.npmrc装备

咱们先用指令行进行认证:

npm config set -- '//gitlab.com/api/v4/projects/133/packages/npm/:_authToken' "发布令牌"

字段解说:

  • gitlab.com: 公司gitlab内网布置的域名
  • 133: 项目id(Project ID),也便是咱们要发布的项目uefe-api的项目id,在项目主页称号下方可检查;
  • 发布令牌:也便是咱们上边刚申请的Deploy tokens

除了上边这三个字段需求修正,其他保持一致。

认证成功之后能够检查验证成果(.npmrc装备会被添加一条token认证):

//gitlab.com/api/v4/projects/133/packages/npm/:_authToken=XXX
  • mac体系:在~/.npmr;
  • windows体系:一般在C:Users<你的用户名>.npmrc;

这个验证的效果其实也是为了后期npm登录,就不需求账号密码登录了,只需求这个token验证经过就能够。

npm装备

npm(注册表)装备文件

在项目根目录新建.npmrc文件,装备一下npm包要发布到哪个服务器即可;

@hnc:registry=https://gitlab.com/api/v4/packages/npm/

字段解说:

  • hnc: 群组称号,在上边建过;
  • gitlab.com: 公司gitlab内网布置的域名;

除了上边这两个字段需求修正,其他保持一致。

装备packages.json

装备publishConfig字段,这个字段的效果是指定咱们这个npm包要发布到哪里去。

"@hnc:registry": "http://gitlab.com/api/v4/projects/133/packages/npm/"

字段解说:

  • hnc: 群组称号,在上边建过;
  • gitlab.com: 公司gitlab内网布置的域名;
  • 133: 项目id(Project ID),也便是咱们要发布的项目uefe-api的项目id,在项目主页称号下方可检查;

除了上边这三个字段需求修正,其他保持一致。

手动发布

接下来呢便是手动发布(主动发布下篇讲),咱们直接指令行操作即可;

npm publish

发布成功之后,群组hnc下的Packages & Registries就会有发布记录

【保姆级教育】内网布置的gitlab,怎么经过CI/CD主动构建打包布置私有npm包(上)

注意:假如出现403报错,检查一下npm包的版本是否重复发布!

运用

首先装备一下npm,咱们运用指令行。

第一步:

// 指定一下npm源
npm config set @hnc:registry=http://gitlab.com/api/v4/packages/npm/

字段解说:

  • hnc: 群组称号,在上边建过;
  • gitlab.com: 公司gitlab内网布置的域名;

第二步:

// 指定一下npm源
npm config set -- '//gitlab.com/api/v4/packages/npm/:_authToken' "群组token"

字段解说:

  • gitlab.com: 公司gitlab内网布置的域名;
  • 群组token注意:这是群组token,也便是到hnc组中去创立,仍旧选择Deploy tokens

以上两步设置完结之后,就能够直接履行

npm i @hnc/uefe-api

总结

以上便是运用指令行在gitlab中发布npm包的一整个具体的流程,主要包含:

  • 项目怎么创立
  • 怎么生成项目发布令牌
  • gitlab中npm发布怎么验证token
  • npm装备怎么与项目装备相关联
  • 怎么装置内网npm包

好了,下一章咱们将解说怎么在私有布置的gitlab网站中进行npm包的主动打包布置以及发布的具体流程。

” 欲知后事怎么,且听下回分解~ “

点击关注不走失,持续晋级打怪~