bower私服部署
简介
1、私服服务器:private-bower
2、包管理模式:git
工具清单
- nodejs
- git
- private-bower
安装
安装nodejs
已安装nodejs可忽略本节内容
1、下载nodejs 程序包
打开nodejs官网下载页面https://nodejs.org/en/download/
。右键复制Linux Binaries (x64)
的下载链接。执行以下代码下载,并解压
cd ~
#注意:当前下载版本为v10.15.3
#下载
wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz
#解压
xz -d node-v10.15.3-linux-x64.tar.xz
#注意:xz 命令执行后node-v10.15.3-linux-x64.tar.xz被输出为node-v10.15.3-linux-x64.tar
tar -xvf node-v10.15.3-linux-x64.tar
#移动node程序文件夹到/opt/nodejs/v10
mv ./node-v10.15.3-linux-x64 /opt/nodejs/v10
2、添加nodejs path到$PATH
#通过修改profile文件:
vim /etc/profile
#找到设置PATH的行
/export PATH
#在export PATH之前,添加环境变量
PATH=/opt/node/v10/bin:$PATH
#保存
#生效方法:系统重启
#有效期限:永久有效
#用户局限:对所有用户
#执行以下命令使之立即生效
source /etc/profile
#或 执行点命令
/etc/profile
#执行以下命令测试nodejs是否已经正确安装
node --version
安装git
yum install -y git git-daemon
安装private-bower
npm install -g private-bower
配置private-bower
cd /opt
mkdir ./private-bower
vi mybowerconfig.json
mybowerconfig.json 配置范例如下:
{
"port": 5678,
"registryFile": "/opt/private-bower/bowerRepository.json",
"timeout": 144000,
"public": {
"disabled": false,
"registry": "http://https://registry.bower.io",
"registryFile": "/opt/private-bower/bowerRepositoryPublic.json",
"whitelist": [],
"blacklist": []
},
"authentication": {
"enabled": false,
"key": "password"
},
"repositoryCache": {
"cachePrivate": false,
"git": {
"enabled": false,
"cacheDirectory": "/opt/private-bower/gitRepoCache",
"host": "localhost",
"port": 6789,
"publicAccessURL" : null,
"refreshTimeout": 10
},
"svn": {
"enabled": false,
"cacheDirectory": "/opt/private-bower/svnRepoCache",
"host": "localhost",
"port": 7891,
"publicAccessURL" : null,
"refreshTimeout": 10
}
},
"proxySettings" : {
"enabled": false,
"host": "proxy",
"username": "name",
"password" : "pass",
"port": 8080,
"tunnel": false
},
"log4js" : {
"enabled": true,
"configPath" : "/opt/private-bower/log4js.conf.json"
}
}
mybowerconfig.json
关键配置说明
- port:外部网络访问端口
- registryFile:通过
bower register name xxx
命令注册bower包的记录文件 - log4js:configPath :日志配置
log4js.conf.json
配置
{
"appenders": [
{
"type": "dateFile",
"filename": "private-bower.log",
"pattern": "-yyyy-MM-dd",
"alwaysIncludePattern": false
},
{
"type": "console"
}
],
"replaceConsole": true
}
启动private-bower
cd /opt/private-bower
private-bower --config ./mybowerconfig.json
开放端口
#以下代码为centos7
# 开放端口
firewall-cmd --zone=public --add-port=5678/tcp --permanent
# 更新规则
firewall-cmd --reload
# 启动|关闭|重新启动 防火墙,(注意:如果执行`firewall-cmd --reload`命令后仍无法访问则重启服务
systemctl [start|stop|restart] firewalld.service
开机启动/注册为服务
略
private-bower测试
1、创建.bowerrc
文件
如果window下无法通过资源管理器创建时在命令行中(cmd)中执行以下代码
type null>.bowerrc
2、编辑以下内容
{"registry":"http://<bower私服ip地址>:5678"}
3、在命令行中执行以下命令测试
bower search jquery
创建bower包
创建bower包需要满足以下条件
- git :bower包依赖git仓库,公网可以选择github,私服可以搭建gitlab
- git仓库的tags使用标准版本号格式 :bower 通过读取git仓库tags识别bower版本号。版本号建议使用标准版本号格式,即
xx.xx.xx[.xx]
,并且支持v
作为前缀的版本号。有效tag如:1.1.0
、v1.1.1
- git仓库根目录包含
bower.json
:该文件声明bower包的相关信息
创建bower.json
# 执行以下命令,根据提示输入即可
bower init
bower.json
文件基本结构
{
"name": "bower_name",
"authors": [
"xxx"
],
"description": "",
"main": "",
"license": "MIT",
"homepage": "",
"private": false,
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
]
}
创建git仓库
基本流程
1、创建仓库
2、添加bower.json
文件到master
分支根目录
3、创建仓库tag
注册bower包到私服
在包含.bowerrc
文件的目录下打开命令行,并且.bowerrc
文件必须包含私服的定义
cd /d xxx #xxx为包含.bowerrc文件的目录
bower register name xxx.git #xxx.git为bower包项目git地址
bower包建议
对于只需要引用必要资源文件的项目可以创建单独的git分支用于bower的发布,也可以使用bower.json
文件配置忽略项目。
例如:
git仓库创建专门的用于bower发布的分支,该分支仅包含发布的必要文件,排除原始代码文件、示例、脚本等。创建tag时仅对该分支创建tag。如以下范例,其中bower分支为bower包的发布分支
-
master
- src
- dist
- examples
- bower.json
- readme.md
-
bower
- dist
- bower.json
-
tags->分支bower
- 1.1.1
- 1.1.2
客户端使用
创建基础配置
在需要通过bower管理包的项目根目录创建bower.json
和.bowerrc
。
1、创建.bowerrc
#window环境下使用cmd创建
type null>.bowerrc
编辑.bowerrc
文件
{
"registry": {
"register": "http://<私服 IP or URL>:5678",
"search": [
"http://<私服 IP or URL>:5678",
"https://registry.bower.io"
]
},
"directory": "wwwroot/lib"
}
配置说明
- registry:register :bower register name xxx 命令的注册地址
- registry:search : bower包搜索安装的路径
- directory : bower包放置路径
2、创建bower.json
通过bower init命令创建bower.json
。创建后添加dependencies
配置节点,该节点用于应用依赖项,bower还原时自动下载依赖项。配置如下
{
"name": "projectname",
"authors": [
"xxx"
],
"description": "",
"main": "",
"license": "MIT",
"homepage": "",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"wwwroot/lib",
"test",
"tests"
],
"dependencies": {
"d3": "v5.9.2"
}
}