目录

一、前言

二、后端

三、前端

四、总结


一、前言

Nexus是一个强大的仓库管理器,极大地简化了内部仓库的维护和外部仓库的访问。 支持搭建私服,通常被作为docker、npm、yum、go、apt等的私有仓库。 其优点为:加速构建、提高稳定性、使用文件系统和Lucene来组织数据(不需额外搭建数据库)。 本文将从前端和后端的角度,分别介绍发包的方式。

二、后端Maven项目

本章节首先介绍了maven项目发包之前,需要做的一些nexus账户和源的配置。然后,介绍本地开发的maven项目,需要用到的发包命令。接着,又介绍了针对本地的jar包,网上第三方不维护和的jar包,发包到nexus的方式。

2.1 配置setting.xml

本人所负责到的后端项目,均是maven项目,maven项目在发包之前,都需要在setting.xml文件中对目标nexus进行配置,以下是我使用的配置,可进行参考:

  <servers><!-- 发包使用到的nexus账户,务必确保该账户有以下mirror中url的权限 --><server><id>maven-public</id><username>admin</username><password>Admin123</password></server>    <servers><mirrors><!-- nexus 发包目标位置 --><mirror><id>nexus</id><mirrorOf>*</mirrorOf><name>RDXA Repository</name><url>http://192.168.70.20:8081/repository/maven-public/</url></mirror><mirrors>

图 使用maven发包前针对nexus的配置参考

2.2 针对存在源码的maven项目

主要使用场景有3种,第一种,有的包年代久远,官网、Maven中央仓库或者镜像库,早已经不更新该依赖包了,但是能从github或者码云上找到开放出的源码。第二种,我们在使用第三方开源库的过程中,发现了已知的bug。第三种,本地开发的maven项目。例如:公司内部的公共库。

特别是前2种情况,通常我们可以把该开源项目的源码下载到本地,进行编译或者bug修复,并发布到私服上,就能供各产品线开发人员,或者项目CI/CD使用。

mvn clean deploy
-Dpmd.skip=true
-Dcheckstyle.skip=true 

图 针对本地开发的maven项目发包命令

2.3 针对特定jar包

主要介绍针对jar包的发包方式。首先,比如古老项目中,有用到的网上第三方库,该第三方库早已不再维护,但是能找到该项目jar包的备份。然后,可以是被中央仓库或者镜像仓库永久下架的,但是能找到该项目jar包的备份。以下,以taobao-sdk-java-auto为例。

mvn deploy:deploy-file
-DgroupId=com.dingtalk.api
-DartifactId=top-api-sdk
-Dversion=2.0.0-RELEASE
-Dpackaging=jar
-Dfile="D:\jar\taobao-sdk-java-auto_1479188381469-20210630.jar"
-DgeneratePom=true
-DrepositoryId=maven
-Durl=http://192.168.70.29:8081/repository/maven-public/
-DrepositoryId=maven-public

图 针对jar包发包命令

三、前端Npm项目

本章节主要介绍npm项目发包实践。主要使用场景与章节2.2中类似,此处将不再赘述。

以下脚本或者命令,只适用于本人使用到的npm发包场景。

首先,拉公共库代码。然后,升级版本号。按照项目迭代规约,公共库版本号需要升级。其次,更改npm源为公共源npm-group,确保装包可用。接下来,执行install和build命令进行装包和打包,生成发布所需文件。进一步,模拟nexus登陆,该用户需拥有nexus上发布空间的publish权限。最后,更改发布源,执行publish命令进行版本发布。

针对以上业务需求,本人使用到的发包脚本如下:

#!/bin/sh
jenkins_job_name=$2
npm_package_name=$3#1.退出登陆,确保登陆用户为认证用户
rm -rf ./.npmrc
npm logout
npm -v
npm config get registry
rm -rf package-lock.json
rm -rf yarn.lock#2.更改版本号
ansible-playbook -e "host_name=$1 project_name=$2 package_version=$4" /home/jenkins/ci/$1/are-publish-npm.yml#3.装包
rm -rf ./.npmrc
npm config set registry http://192.168.25.57:8081/repository/npm-group/
(yarn install) && ( echo 												

到Nexus私服的发包实践相关推荐

  1. Nexus私服使Maven更加强大

    前边简单介绍了Maven,而Maven默认提供的中央仓库是在远程网络服务Appache提供的,这对于我们开发时不合理的.如果我们没网了或者什么情况,我们怎么办?也就是说我们队中央仓库的依赖性太大.而N ...

  2. Ubuntu16.04 搭建nexus 私服 学习步骤以及安装maven和git

    1.下载安装maven wget https://www-us.apache.org/dist/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin. ...

  3. 【Maven学习】Nexus私服代理其他第三方的Maven仓库

    一.背景 [Maven学习]Nexus OSS私服仓库的安装和配置 http://blog.csdn.net/ouyang_peng/article/details/78793038 [Maven学习 ...

  4. Linux_Centos中搭建nexus私服

    1.在Linux下搭建Nexus私服 1).下载并且解压      下载  nexus-2.11.2-03-bundle.zip      unzip nexus-2.11.2-03-bundle.z ...

  5. maven小节,Nexus私服,构件打包发布,动态资源过滤,自动部署到本地或远程服务器...

    为什么80%的码农都做不了架构师?>>>    阅读此文的前提,对Maven 有一定了解,熟悉pom文件基础 1:Nexus 建立私服 去下载nexus的war包格式的,最新版本的要 ...

  6. 用Docker搭建Nexus私服

    搜索Nexus 在docker容器中加载Nexus镜像 发布本地项目到Nexus私服 配置连接方式 发布指令 打源码包上传插件 搜索Nexus   在我们打算使用Nexus时,我们先搜索一下docke ...

  7. 使用Nexus私服代理其他maven仓库(jitpack、jcenter)

    Nexus下载及运行 Nexus3下载地址:https://support.sonatype.com/hc/en-us/articles/218637467-Download-Nexus-Reposi ...

  8. nexus私服搭建及maven生命周期

    一.maven找库流程 从流程上看创建nexus私服,能够优化流程,而且更加快速 二.nexus下载.安装 1.nexus下载地址 https://sonatype-download.global.s ...

  9. nexus 仓库类型_使用Nexus私服代理其他maven仓库(jitpack、jcenter)

    Nexus下载及运行 从Nexus Repository Manager 3.1.0-04开始,Nexus不再提供各平台的二进制安装文件. 下面以Windows平台为例: 下载Nexus压缩包解压之后 ...

最新文章

  1. 在世界第二届半机械人奥运会上,瘫痪驾驶员在Cybathlon BCI竞赛中争夺金牌
  2. Ninja Blocks物联网平台简介
  3. 单片机拼字程序怎么做_家装行业做小程序怎么样?
  4. 细数阿里云服务器的十二种典型应用场景
  5. 快来学习一下吧!Web前端开发CSS居中的五大方式
  6. 第13届 广东工业大学ACM程序设计大赛 C题 平分游戏
  7. Python编写微信打飞机小游戏(四)
  8. 手机端电子签名画板js插件
  9. 约瑟夫问题python列表_Python实现约瑟夫问题
  10. 【杂谈】斯科特与阿蒙森的南极点竞赛
  11. 一项采用MasimoO3(R)的前瞻性研究就通气抢救疗法对COVID-19患者脑氧合的效应进行了深入探查
  12. RHCE linux学习第一天
  13. 全球与中国轨道交通受电弓滑块市场深度研究分析报告
  14. C 宏定义实现字符大小写转换
  15. ros多个小乌龟_Ros 小乌龟节点启动
  16. 使用python读取网络视频流或者本地视频进行RTMP流的生成,并对视频源的每一帧做剪切处理
  17. 【Python爬虫系列】浅尝一下爬虫40例实战教程+源代码【基础+进阶】
  18. Hbuilder X 配置Git、SVN项目管理工具
  19. 可靠信号与不可靠信号
  20. 一套完整的网站建设方案

热门文章

  1. ios图标和启动图制作工具
  2. Data Mining Machine Learning学习笔记 机器学习入门笔记 之jieba分词(中文分词)(二)
  3. 腾讯云仪征数据中心开服,辐射长三角产业数字化升级
  4. excel高效之删除空行
  5. 判断二极管导通例题_通信电源 | 1个二极管是如何改变电流的?
  6. 早餐吃得好,血管更通畅!4种食物都是不错的选择,远离心血管病
  7. 0.linux笔记.....持续更新...
  8. Linux下定时删除指定目下n天前的文件
  9. java 字符串按小数点分割【问题剖析】
  10. 第1期-软件测试-简历-正确编写测试简历的姿势