bit 搭建私有服务器

2021/5/23 bit安装配置

基于种种原因如果不想使用 bit.dev 作为远端 Scope,也可以选择自己搭建一个私有的服务器作为 Scope。使用下来的感觉就是 bit 提供的私有服务其实就是在服务器上部署一个 workspace,然后启动 dev 服务器,然后就可以使用了。

# 本地搭建

新建一个空的文件夹作为 workspace,初始化后启动一个服务就是 Scope

# 初始化一个workspace
bit init --bare

# 运行
bit start
1
2
3
4
5

本地其他的工程的 workspace

# 添加远程地址
bit remote add http://localhost:3000

# 修改workspace.jsonc中defaultScope的值为远程scope的值
# scope的名字就是服务的文件夹名

# 组件可以发布到这个服务scope了
bit export
1
2
3
4
5
6
7
8

# 服务器搭建

如果只是自己本地搭建没啥太大的实际意义,放在服务器上才能方便不同的工程去使用,不过服务器上搭建实际上和本地搭建基本上完全类似的。

# 通过 SSH 访问

v15 版本之前官方提供的都是通过 ssh 来使用的,如果准备在服务器直接搭建可以参考 Bit Server (opens new window),当然也可以选择使用 docker 部署 (opens new window)

我根据这个文档来部署的没有成功,后面直接使用 bit-docker (opens new window) 倒是成功了(看起来是官方的)。

docker run --name bit -d -P bitteam/bit-docker
1

搭建成功之后就是配置 remote 之类的,和下面将的 http 访问大致差不多,区别就是要设置 ssh 认证方式,可以手动输入用户名密码,也可以通过 authorized_keys 配置公钥免密登录。

# 通过 http 访问

在 v15 版本提供的可以直接通过 http 访问,总算不用配置一堆 ssh 了,而且还有类似官方的组件管理界面,比之前的要香很多。

# 启动服务

可以参考 文档 (opens new window) 自行搭建 bit 服务器,主要就是通过 bit start 启动一个服务就行了,实际上就相当于是在服务器的本地搭建,当然建立使用 docker 部署更方便一些。

docker run -dit --name bit -p 3000:3000 frankqcc/bit
1

上述命令会启动一个名叫 bit 的容器里面就是 bit 服务,docker 创建的 scope 默认值是 bit-docker-scope,可以进入容器修改/var/scope 目录下 scope.json 的 name 值为想要的 scope 名称,然后重启一下容器就行了。

# 本地工程使用组件

# 添加远程地址
bit remote add http://xxx:3000

# 修改workspace.jsonc中defaultScope的值为bit-docker-scope

# 导入远端scope中ui/button
bit import bit-docker-scope/ui/button
1
2
3
4
5
6
7

执行完导入命令之后,会发现根目录下新建了一个 bit-docker-scope 文件夹,里面就是导入成功的组件。

# 和 bit.dev 的一些差异

目前发现自行部署的和 bit.dev 提供的服务还是有些不同的,比如登录认证之类的。

# 组件不支持 eject 操作

failed to eject the following components
components that were exported to a self hosted scope (not bit.dev): bit-scope/ui/button@0.0.1
1
2

通过以上操作基本上就能搭建一个可以使用的 bit 私有服务器了,不过 bit 的私服搭建教程没有提供相关登录认证的配置,如果不想私服在公网被直接访问的话要么放内网,要么自己搞个登录认证。后面讲讲怎么使用 Nginx 配置 HTTP 基本认证来做一个简单的登录认证。