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. Java描述设计模式(01):单例模式

    本文源码:GitHub·点这里 || GitEE·点这里 一.单例模式 1.概念图解 单例设计模式定义:确保这个类只有一个实例,并且自动的实例化向系统提供这个对象. 2.样例代码 package co ...

  2. RK3399安装Qt

    更新软件源.升级软件 sudo apt-get update sudo apt-get upgrade 安装Qt sudo apt-get install qt5-default sudo apt-g ...

  3. ASP.NET Core 2.2 WebApi 系列【八】统一返回格式(返回值、模型验证、异常)

    现阶段,基本上都是前后端分离项目,这样一来,就需要前后端配合,没有统一返回格式,那么对接起来会很麻烦,浪费时间.我们需要把所有接口及异常错误信息都返回一定的Json格式,有利于前端处理,从而提高了工作 ...

  4. Add an Item to the New Action 在新建按钮中增加一个条目

    In this lesson, you will learn how to add an item to the New Action (NewObjectViewController.NewObje ...

  5. grant localhost and % for mysql

  6. Flask框架后端开发常见错误处理

    1.ValueError: urls must start with a leading slash 这个错误原因可能发生在所有路由相关地方,少加了一个'/'造成的. 2.ImportError: c ...

  7. Html table 内容超出显示省略号

    内容超出显示省略号: <html> <style> table { table-layout: fixed; width: 100%; } table, th, td { bo ...

  8. tornado跨域解决方法

    代码 class BaseHandler(tornado.web.RequestHandler): # 允许跨域访问的地址 def allowMyOrigin(self): allow_list = ...

  9. SPA项目开发之登录

    前端 首先安装开发模板 npm install element-ui -S npm install axios -S npm install qs -S npm install vue-axios - ...

  10. win7 Adobe flash player 无法在线更新

    1.win7 Adobe flash player 无法在线更新,提示应用程序初始化错误 解决方法: 1.https://www.flash.cn/看一下支持的版本,网上找对应版本离线包下载安装即可 ...