nexus私服搭建

目录

目录

1.下载nexus

   1.1.安装

    1.2.可选 修改Nexus 服务端口号 默认8081

    1.3. 启动Nexus​

2.使用教程(maven)

 2.1、 访问:http://localhost:8081/

 2.2、新增maven仓库(aliyun代理仓库,wtx私有库,步骤如下) 

2.3、新建角色和用户

2.4、上传jar到私服

2.使用教程(npm)

  1、创建一个文件存储位置

  2、创建npm的group,hosted,proxy

 3、上传插件到npm仓库


1.下载nexus

         1、下载nexusNexus3 官网下载地址 可能需要翻墙,

         2、离线安装点此下载

   1.1.安装

创建文件夹

[root@node1 home]# mkdir /usr/local/nexus

解压

[root@node1 home]# tar -zxf nexus-3.47.0-01-unix.tar.gz -C /usr/local/nexus

解压后的文件夹包括:

[root@node1 home]# cd /usr/local/nexus/
[root@node1 nexus]# ls
nexus-3.47.0-01  sonatype-work

nexus-3.47.0-01:程序的安装执行文件

sonatype-work :数据存储、缓存等文件

    1.2.可选 修改Nexus 服务端口号 默认8081

可修改nexus配置,默认端口8081
 

[root@node1 nexus-3.47.0-01]#  vim /usr/local/nexus/nexus-3.47.0-01/etc/nexus-default.properties

## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
application-port=8081
application-host=0.0.0.0 #填写本机ip
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/

# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
 nexus-pro-feature

nexus.hazelcast.discovery.isEnabled=true

    1.3. 启动Nexus

进入文件夹

[root@node1 nexus-3.47.0-01]# cd  /usr/local/nexus

执行命令启动

# 后台启动  可以通过nohup 启动指定日志文件 这里就用默认的nohup.out的日志文件了
[root@node1 nexus-3.47.0-01]# nohup ./nexus-3.47.0-01/bin/nexus run &

访问:http://localhost:8081/

查看密码(用户名 admin、密码在sonatype-work目录下)

[root@node1 sonatype-work]# vim nexus3/admin.password            
206cab5e-1930-4623-8461-58f926581ee9

2.使用教程(maven)

    2.1、 访问:http://localhost:8081/

    登录(用户名 admin、密码在sonatype-work目录下)

 查看设置

查看仓库

  2.2、新增maven仓库(aliyun代理仓库,wtx私有库,步骤如下) 

 1.创建代理库

  • proxy:即你可以设置代理,设置了代理之后,在你的nexus中找不到的依赖就会去配置的代理的地址中找
  • hosted:你可以上传你自己的项目到这里面
  • group:它可以包含前面两个,是一个聚合体。一般用来给客户一个访问nexus的统一地址。

2、填写名字,和代理url,然后保存

3、私有库创建

4、填写名称,保存

如此:代理库和私有库都创建好了

2.3、新建角色和用户

 新增角色

 新增用户

 填写信息,选择角色

 2.4、上传jar到私服

 

 

2.使用教程(npm)

  1、创建一个文件存储位置

 

  2、创建npm的group,hosted,proxy

 

 

 

 

 3、上传插件到npm仓库

举例ts组件

0、创建src文件夹用于存储源文件,创建test文件夹用于存储测试源文件

1、准备package.json文件(用来发布npm包,可以使用npm init 命令生成) 

{
  "name": "my-ts-plugin",
  "version": "1.0.0",
  "description": "ts_js基础包",
  "main": "dist/index.js",
  "module": "dist/index.js",
  "types": "dist/index.d.ts",
  "scripts": {
    "build": "npm run clean && tsc -p tsconfig.json",
    "clean": "rimraf ./dist",
    "test": "cross-env TS_NODE_PROJECT=\"tsconfig.test.json\" mocha --require ts-node/register test/**/*.*.ts"
  },
  "repository": {
    "type": "git",
    "url": "http://192.168.168.134:8081/repository/wtx-npm/"
  },
  "files": [
    "dist"
  ],
  "author": "wtx",
  "license": "ISC",
  "dependencies": {
    "typescript": "^4.9.5"
  },
  "devDependencies": {
    "@types/chai": "^4.2.12",
    "@types/mocha": "^8.0.0",
    "chai": "^4.3.4",
    "mocha": "^9.1.3",
    "rimraf": "^3.0.1",
    "ts-node": "^10.4.0",
    "cross-env": "^7.0.3"
  }
}

2、准备typescript的编译设置文件tsconfig.json

{
    "compilerOptions": {
        //输出文件
        "outDir": "dist",
        //格式
        "module": "ES6",
        // 编译后符合什么es版本
        "target": "es5",
        "noImplicitAny": true,
        "removeComments": false,
        "preserveConstEnums": true,
        "sourceMap": false,
         // 为每个ts文件 生成一个对应的 .d.ts 文件; 获得 ts 提示
        "declaration": true,
        "lib":["es5", "dom", "dom.iterable", "es2015", "es2016", "es2017"]
    },
    "include": [
        "src"
    ],
    "exclude": [
        "test/**/*.test.tsx",
      ]
}

3、准备测试文件tsconfig.test.json

{
    "compilerOptions": {
      "outDir": "dist",
      "module": "commonjs", // 就是这个, 运行单元测试的时候 要改成 commonjs 不然会报错
      // 编译后符合什么es版本
      "target": "es5",
      // 为每个ts文件 生成一个对应的 .d.ts 文件; 获得 ts 提示
      "declaration": true,
      "downlevelIteration": true,
      "noImplicitAny": true,
      "lib":["es5", "dom", "dom.iterable", "es2015", "es2016", "es2017"],
    },
    "include": [
      "src"
    ],
    "exclude": [
      "src/**/*.test.tsx",
    ]
  }

4、完整目录

5、编译(也可以使用tsc)

 

6、

  1. 登录 (npm login --registry=http://192.168.168.134:8081/repository/wtx-npm/)
  2. 上传(npm publish --registry=http://192.168.168.134:8081/repository/wtx-npm/)

 

7、拉取

8、 使用

9、异常

        1、故障描述:npm publish报错:“Unable to authenticate, need: BASIC realm=”Sonatype Nexus Repository Manager””​​​​​​​

执行:

npm adduser  --registry=http://192.168.168.134:8081/repository/wtx-npm/

        2、故障描述:​​​​​​​nexus上传包时总是:Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager
​​​​​​​

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值