bower私服部署

Posted chiikin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bower私服部署相关的知识,希望对你有一定的参考价值。

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.0v1.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"
  

以上是关于bower私服部署的主要内容,如果未能解决你的问题,请参考以下文章

如何部署 Bower 安装的软件包?

部署Maven与Nexus(私服)

将已有jar包部署到私服

使用Maven部署构件至私服

Node.js Heroku 部署 - 无法执行安装后脚本来安装 Bower

手动部署第三方构件至私服