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私服部署的更多相关文章

  1. Maven-008-Nexus 私服部署发布报错 Failed to deploy artifacts: Failed to transfer file: ... Return code is: 4XX, ReasonPhrase: ... 解决方案

    我在部署构件至 maven nexus 私服时,有时会出现 Failed to deploy artifacts: Failed to transfer file: ... Return code i ...

  2. maven 向私服部署jar

    1.有源码的情况下 首先需要在要deploy的项目pom中添加私服地址 <distributionManagement> <repository> <id>nexu ...

  3. nexus私服部署

    1,下载安装包,解压,执行以下命令启动服务. nexus.exe /run 2,访问http://localhost:8081访问管理界面,添加一个maver2(proxy)的仓库,代理地址填写阿里云 ...

  4. bower配置私服nexus3

    内容来自 https://help.sonatype.com/repomanager3/bower-repositories#BowerRepositories-BrowsingBowerReposi ...

  5. docker私服搭建nexus3

    docker私服搭建有官方的registry镜像,也有改版后的NexusOss3.x,因为maven的原因搭建了nexus,所以一并将docker私服也搭建到nexus上. nexus的安装过程就单独 ...

  6. 持续集成Jenkins+sonarqube部署教程

    1 引言 1.1 文档概要 本文主要介绍jenkins,sonar的安装与集成,基于ant,maven构建.用一个例子介绍jenkins的编译打包部署,代码检查.最后集成jenkins.(现阶段只是简 ...

  7. Gradle Maven部署,转化

    参考:(易百教程)http://www.yiibai.com/gradle/gradle_deployment.html 目录: Gradle部署 Maven转化为Gradle Gradle部署: c ...

  8. Maven之私服配置

    一.配置从私服下载 从私服下载主要是将 central 库的下载地址从https://repo1.maven.org/maven2/修改为私服地址,比如http://localhost:8081/re ...

  9. 携程Apollo统一配置中心的搭建和使用

    原文链接:https://blog.csdn.net/luhong327/article/details/81453001 一.Apollo配置中心介绍 1.What is Apollo 1.1 Ap ...

随机推荐

  1. Thinkphp <= 5.0.10 缓存getshell复现

    目录 Thinkphp <= 5.0.10 缓存getshell复现 0x01 poc 0x02 跟踪源码 0x03 审计思路 0x04 补丁 0x05 参考 Thinkphp <= 5. ...

  2. requests-html库render的使用

    一.render的使用 from requests_html import HTMLSession session =HTMLSession() response = session.get('htt ...

  3. Java操作数据库——使用连接池连接数据库

    Java操作数据库——使用连接池连接数据库 摘要:本文主要学习了如何使用JDBC连接池连接数据库. 传统方式和连接池方式 传统方式的步骤 使用传统方式在Java中使用JDBC连接数据库,完成一次数据库 ...

  4. 安全意识第八期丨OMG!发个帖子竟然摊上大事了

    互联网时代,话在网上说.钱在网上花.事在网上办,这早已成为一种习惯,越来越多的人也倾向于通过网络来获取信息. 借助现代信息技术,网络传播者通过即时通讯工具.微博.朋友圈等渠道发布信息,虽然传播起来更便 ...

  5. leaflet 结合 d3.js 实现 geojson 数据地形剖面分析(附源码下载)

    前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...

  6. scp跨服务器拷贝,后台运行

    [转载]原文:https://blog.csdn.net/u013091013/article/details/68941250 通常情况下,我门在同一台服务器拷贝数据最常用的命令便是cp,如果要在不 ...

  7. 如何判断Linux系统安装在VMware上?

    如何判断当前Linux系统是否安装在VMware上面呢? 因为公司大部分服务器位于VMware上,也有小部分系统部署在物理机上面.今天老大要求统计一下VMware和物理机上服务器的数量,个人简单测试. ...

  8. QPNP 8909 8916 充电相关(1)【转】

    最近一直在搞电源管理相关内容,之前是8610的bms,现在8916的bms,发现两者还是有点区别的,8916把对last_ocv_uv的估值算法分装成执行文件,作为服务一直运行. 电源管理方面,应该是 ...

  9. Linux别名工具alias的使用

    偶然发现Linux支持自定义命令 现在Linux环境上经常有多个python环境,但是python2马上要停止维护了,所以我想多使用python3,但是Linux上的python命令调用的是pytho ...

  10. Liu Junqiao:Raid 0 1 5 6 特性

    Raid工作原理及优缺点 Raid工作原理及优缺点Raid 0Raid 1Raid 5Raid 6Raid 1 0Raid 5 0Raid 6 0 Raid 0 特点 采用剥离,数据将在几个磁盘上进行 ...