搭建npm和docker私有仓库

    0

Nexus

环境准备

nextus3部署

  1. 拉取镜像
bash
docker pull sonatype/nexus3
  1. 启动容器
bash
docker run -d -p 8081:8081 sonatype/nexus3

nexus的jvm默认内存比较大,可能起不来,我们可以调小一点

bash
docker run -d -p 8081:8081 --name nexus -e INSTALL4J_ADD_VM_PARAMS="-Xms2703m -Xmx2703m -XX:MaxDirectMemorySize=2703m -Djava.util.prefs.userRoot=/some-other-dir" --restart=always sonatype/nexus3

看看有没有启动成功

bash
curl http://localhost:8081/
version: '3'
services:
  nexus3:
    image: sonatype/nexus3
    environment:
      - TZ=Asia/Shanghai
      - "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/some-other-dir"
    ports:
      - '8081:8081'
      - '8443:8443'
      - '9102:9102'
      - '9101:9101'
      - '9103:9103'
      - '9200:9200'
      - '9201:9201'
    restart: always
    volumes:
      - './keystore.jks:/opt/sonatype/nexus/etc/ssl/keystore.jks:ro'
      - './keystore.cer:/opt/sonatype/nexus/etc/ssl/keystore.cer:ro'
      - './nexus-default.properties:/opt/sonatype/nexus/etc/nexus-default.properties:ro'
      - './jetty-https.xml:/opt/sonatype/nexus/etc/jetty/jetty-https.xml:ro'
  1. 查看密码

首先我们进入容器

bash
docker exec -it container_id bash

查看默认密码

bash
cat /nexus-data/admin.password

SSL

docker不使用ssl或者使用自签的ssl每个客户端都需要配置一遍,不然会报错certificate signed by unknown authority,所以选取免费的商业证书,

项目配置

配置文件准备

  1. 项目根目录添加.npmrc文件

_auth是 username:password 的base64

registry=http://127.0.0.1:8081/repository/npm-group
_auth=ZGVwbG95ZXI6ZGVwbG95ZXI=
  1. 清理缓存
npm cache clean -f

发布私有包

⚠️注意私有包地址是hosted不是group或者proxy

  1. 直接使用命令关联仓库发布

bash
npm publish --registry=http://localhost:8081/repository/npm-hosted/
  1. 在package.json添加配置发布

json
{ "publishConfig" : { "registry" : "http://localhost:8081/repository/npm-hosted/" } }
bash
npm publish

安装私有包

查看安装信息

bash
npm --loglevel info install react

cnpmcore

https://github.com/cnpm/cnpmcore

verdaccio

npm install -g verdaccio

//npm.zzfzzf.com/:_authToken=NpmToken
@zzf:registry=http://npm.zzfzzf.com/
always-auth=true

registry=https://npm.zzfzzf.com/
_auth=base64

总结

评论区
共有评论 0
暂无评论