在 CentOS 7 平台使用 cnpmjs.org 搭建 npm 私有仓储,并集成 gitlab 认证

一、安装系统并配置编译环境
1.下载 CentOS 7 系统镜像并安装,选择基本开发环境。
2.修改默认 yum 源为阿里云源,并添加 EPEL 源。

3.安装 gcc 编译环境

4.验证安装结果

二、监测环境并安装 node.js
1.执行环境检测脚本,下载 node 在相应环境的已编译包

2.安装 node 和 npm

3.验证安装结果

三、安装并配置 cnpmjs.org
1.安装 cnpmjs.org依赖

2.验证安装结果

3.添加防火墙例外

四、修改 cnpmjs.org 配置
1.修改 /root/.cnpmjs.org/config.json (实际使用中必须删除注释,否则 json 格式错误)

2.修改 cnpmjs.org 源码 /usr/lib/node_modules/cnpmjs.org/services/user.js

3.自定义首页 /root/.cnpmjs.org/docs/web/readme.md

4.自定义用户认证 /root/.cnpmjs.org/services/custom_user_service.js

5.验证自定义配置

五、开机启动 cnpmjs.org 并配置域名和定期备份
1.创建服务并开机自启 /usr/lib/systemd/system/cnpmjs.org.service

2.应用并启动 cnpmjs.org 服务

3.配置 nginx 反向代理

4.验证域名配置

5.创建备份脚本 /root/.cnpmjs.org/backup/backup.sh
由于 cnpmjs.org 使用文件方式存放已发布的包,因此只用备份 sqlite 数据库即可。

6.验证备份脚本

7.配置定时任务

六、【非服务端】npm 或 cnpm 客户端配置
1.拦截 @xxxxxx 作用域下所有操作至私有仓储,可安装公司私有包。

2.使用 git.xxxxxx.work 用户名和个人访问令牌登录,可发布公司私有包。

参考资料:
CentOS 7 使用阿里云的yum源
Installing Node.js via package manager
CentOS7使用firewalld打开关闭防火墙与端口
Nginx+Center OS 7.2 开机启动设置(转载)
Using the SQLite Online Backup API
CentOS下使用crontab命令来定时执行任务
crontab中命令行中的百分号(%)需要做转义
Deploy a private npm registry in 5 minutes]
Different Modes
cnpmjs.org/config/index.js
GitLab API
Running Your Node.js App With Systemd – Part 1
Running Your Node.js App With Systemd – Part 2
npm 混合公共仓库和私有仓库

《在 CentOS 7 平台使用 cnpmjs.org 搭建 npm 私有仓储,并集成 gitlab 认证》上有1条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注