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.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"
}
}
bower私服部署的更多相关文章
- 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 ...
- maven 向私服部署jar
1.有源码的情况下 首先需要在要deploy的项目pom中添加私服地址 <distributionManagement> <repository> <id>nexu ...
- nexus私服部署
1,下载安装包,解压,执行以下命令启动服务. nexus.exe /run 2,访问http://localhost:8081访问管理界面,添加一个maver2(proxy)的仓库,代理地址填写阿里云 ...
- bower配置私服nexus3
内容来自 https://help.sonatype.com/repomanager3/bower-repositories#BowerRepositories-BrowsingBowerReposi ...
- docker私服搭建nexus3
docker私服搭建有官方的registry镜像,也有改版后的NexusOss3.x,因为maven的原因搭建了nexus,所以一并将docker私服也搭建到nexus上. nexus的安装过程就单独 ...
- 持续集成Jenkins+sonarqube部署教程
1 引言 1.1 文档概要 本文主要介绍jenkins,sonar的安装与集成,基于ant,maven构建.用一个例子介绍jenkins的编译打包部署,代码检查.最后集成jenkins.(现阶段只是简 ...
- Gradle Maven部署,转化
参考:(易百教程)http://www.yiibai.com/gradle/gradle_deployment.html 目录: Gradle部署 Maven转化为Gradle Gradle部署: c ...
- Maven之私服配置
一.配置从私服下载 从私服下载主要是将 central 库的下载地址从https://repo1.maven.org/maven2/修改为私服地址,比如http://localhost:8081/re ...
- 携程Apollo统一配置中心的搭建和使用
原文链接:https://blog.csdn.net/luhong327/article/details/81453001 一.Apollo配置中心介绍 1.What is Apollo 1.1 Ap ...
随机推荐
- Java描述设计模式(01):单例模式
本文源码:GitHub·点这里 || GitEE·点这里 一.单例模式 1.概念图解 单例设计模式定义:确保这个类只有一个实例,并且自动的实例化向系统提供这个对象. 2.样例代码 package co ...
- RK3399安装Qt
更新软件源.升级软件 sudo apt-get update sudo apt-get upgrade 安装Qt sudo apt-get install qt5-default sudo apt-g ...
- ASP.NET Core 2.2 WebApi 系列【八】统一返回格式(返回值、模型验证、异常)
现阶段,基本上都是前后端分离项目,这样一来,就需要前后端配合,没有统一返回格式,那么对接起来会很麻烦,浪费时间.我们需要把所有接口及异常错误信息都返回一定的Json格式,有利于前端处理,从而提高了工作 ...
- Add an Item to the New Action 在新建按钮中增加一个条目
In this lesson, you will learn how to add an item to the New Action (NewObjectViewController.NewObje ...
- grant localhost and % for mysql
- Flask框架后端开发常见错误处理
1.ValueError: urls must start with a leading slash 这个错误原因可能发生在所有路由相关地方,少加了一个'/'造成的. 2.ImportError: c ...
- Html table 内容超出显示省略号
内容超出显示省略号: <html> <style> table { table-layout: fixed; width: 100%; } table, th, td { bo ...
- tornado跨域解决方法
代码 class BaseHandler(tornado.web.RequestHandler): # 允许跨域访问的地址 def allowMyOrigin(self): allow_list = ...
- SPA项目开发之登录
前端 首先安装开发模板 npm install element-ui -S npm install axios -S npm install qs -S npm install vue-axios - ...
- win7 Adobe flash player 无法在线更新
1.win7 Adobe flash player 无法在线更新,提示应用程序初始化错误 解决方法: 1.https://www.flash.cn/看一下支持的版本,网上找对应版本离线包下载安装即可 ...