使用verdaccio Docker GCE设置私有npm注册表


概述

我制作了一个npm库,将其合并到公司的多个应用中,但是
我无法发布到npm并将其发布到世界,因此我使用verdaccio创建了可以在内部发布的npm注册表

韦尔达乔

用于在本地构建npm注册表的工具。
在docker-examples中,可以仅由docker run构建许多示例,因此
这次,从中选择Docker Apache Verdaccio并在GCE

上构建它

施工程序

1.启动GCE实例

我想将其放入自由框架中,因此暂时是最小的实例
Ubuntu被选为发行版

  • 机器类型:f1-micro
  • 图片:Ubuntu 18.04 LTS
  • 允许HTTP流量
1
2
3
4
gcloud beta compute --project=<your_project_id> instances create verdaccio \
--zone=asia-northeast1-b --machine-type=f1-micro --tags=http-server,https-server \
--image=ubuntu-1804-bionic-v20191113 --image-project=ubuntu-os-cloud \
--boot-disk-size=10GB --boot-disk-type=pd-standard --boot-disk-device-name=verdaccio

GCE启动时,连接到SSH并在实例

中执行后续工作

2.安装docker docker-compose

  • 参考:在Ubuntu 18.04上安装Docker(也是docker-compose)

3.克隆verdaccio示例,然后docker-compose

1
2
3
4
5
6
7
8
$> git clone https://github.com/verdaccio/docker-examples.git
$> cd docker-examples/apache-verdaccio/
$> sudo docker-compose up -d
.
.
.
Creating verdaccio ... done
Creating apache-verdaccio_apacheproxy_1 ... done

4.如果成功启动,请尝试从浏览器

访问它

  • 单击分配给您的GCE实例的外部IP以在浏览器中访问它
    image.png

您无法使用https访问它,因此将其修改为http并访问

  • 如果显示这样的屏幕成功

image.png

操作步骤

  • 从这里返回本地PC并工作

1.尝试发布npm库

  • 在要发布的库的dist文件夹中执行以下操作
1
2
$> npm set registry http://<external_ip>
$> npm publish --registry http://<external_ip>

2.检查注册表

  • 尝试再次访问verdaccio

  • 如果显示已发布的库,则成功

image.png

image.png

3.尝试安装库

1
$> npm install --save my-library --registry http://<external_ip>
  • 如果库安装正确,则成功
  • 可以像其他任何公开库一样对待