朗读本文
一、总体流程
开发人员通过SVN或者Git提交代码至代码仓库,每个发布的版本都会进行更新package.json信息。然后通过npm publish命令上传制品到nexus;最后通过nexus插件可以在Job的Web界面获取到每个版本的包下载地址,结合shell脚本进行下载。实现一次打包多套环境节点主机部署;比如前端代码需要解决浏览器缓存问题,webpack编辑文件,时间会参与hash值进行计算,那么相同代码不同进行编译生成的hash值都不同,这样如果是多台环境都进行打包编译,那么发布的项目文件就会出现不一致。这个问题可以通过更改vue.config.js文件中的process.env.VUE_APP_BUILD_TIME参数进行注释解决,但是为了解决浏览器缓存问题这个还是建议进行保留。
二、配置项目
在项目的源码文件中编辑package.json文件,写入发布的版本名称(name),版本号等信息
1、Nexus创建仓库
![03b2e98a1fd7257588ae883939c7a76d.png](https://i-blog.csdnimg.cn/blog_migrate/2b139d9addc15aa07c4e1156f97be913.png)
![e4db10ce642d7725f9fc8b930d60547e.png](https://i-blog.csdnimg.cn/blog_migrate/a6b061081fa80991c3babee2faf1a339.png)
![cd6ba3b89ed9134fad935cbab8e5a538.png](https://i-blog.csdnimg.cn/blog_migrate/ea02924629f4c62a74684a3dadbaa894.png)
![e7eca8c1f122bd5130f9b8ae12c07176.png](https://i-blog.csdnimg.cn/blog_migrate/7ed912b95ea382767de6bcc008095725.png)
![11ce8ba9a59445c9d2ccb121d910c19f.png](https://i-blog.csdnimg.cn/blog_migrate/b3c3138dd68978e5ddd09efe71155b36.png)
![798d6eccc481d792532dbe60231bc479.png](https://i-blog.csdnimg.cn/blog_migrate/211e776573fdae55c7611934908cb68e.png)
2、Nexus添加Realms
![1489daee630e04945fb6af2f9bf5c440.png](https://i-blog.csdnimg.cn/blog_migrate/87c300046bd9d04806b31177f54791c7.png)
注:如果不添加会导致上传制品时401无权限问题
3、登入Nexus私服
在Jenkins的服务器上登入到刚才创建的NPM私服,登入成功会在当前执行npm命令的用户家目录下生成一个.npmrc文件,里面会存储私服的地址和私服的登入账号密码
[deploy@jenkins-slave1 ~]$ npm login --registry=http://nexus_ip:prot/repository/npm-repository/
Username: admin #用户
Password: #密码
Email: (this IS public) dqzboy@qq.c