美文网首页
使用nexus搭建内网pypi服务器

使用nexus搭建内网pypi服务器

作者: yytester | 来源:发表于2020-01-21 10:49 被阅读0次

    linux安装的坑

    上传包之后,需要修改的内容:

    1. ~/bin/nexus设置java路径
      INSTALL4J_JAVA_HOME_OVERRIDE="/root/mynexus/nexus-3.19.1-01/bin/jdk1.8.0_141"
      INSTALL4J_JAVA_PREFIX="$JAVA_HOME"

    2. 设置允许root
      run_as_root=false

    3. 修改~/nexus.vmoptions

    -Xms512m
    -Xmx666m
    -XX:MaxDirectMemorySize=667m
    

    默认的内存(2703m)太大了,在阿里云最低配置里无法启动,而且看不到报错信息.

    mac安装

    1. 解压文件后,进入/Users/apple/nexus-3.17.0-01-mac/nexus-3.17.0-01/bin,运行服务: ./nexus start
    2. 访问http://127.0.0.1:8081/#browse/search/pypi,默认账户:admin/admin123

    查看本机java路径: which java
    然后修改./nexus文件,加入java路径INSTALL4J_JAVA_PREFIX="/usr/bin/java"

    开始

    1. 创建仓库界面: image.png
    2. 创建代理库proxy
    3. 创建host库
    4. 创建group库,把上面创建的proxy和host包含进来
    5. group库名字,即是将来要使用的.
    6. (最好是开个venv虚拟环境)开始通过nexus下载第三方库,命令:pip3 install -i http://localhost:8081/repository/my_group/simple flask
      image.png

    拷贝库去内网

    • 外网笔记本建立定时task任务,执行,生成备份: image.png
      image.png
    image.png

    [图片上传中...(image.png-c032a7-1584407214706-0)]

    image.png

    第一次需要建立Tasks,以后备份时只需要Run这个任务就行了.

    执行完成,会生成文件夹:

    image.png

    * 把/Users/apple/Downloads/nexus-3.17.0-01-mac/sonatype-work/nexus3路径下的0205(阿里云上对应文件夹是export_pypi)和blobs文件夹压缩,传到内网.(其中0205文件夹里只需要传最新的一份备份)


    2020.12更新 本地mac 转 内网linux

    1. 在本地mac手动执行task备份
    2. /Users/xxx/nexus-3.17.0-01-mac/sonatype-work/nexus3目录下的blobsexport-mac-python文件夹拷贝进入内网.

    数据库还原

    • 停止nexus: /home/nexus/nexus-3.19.1-01/nexus-3.19.1-01/bin, 执行./nexus stop
    • 删除如下数据库目录,位置:/home/nexus/nexus-3.19.1-01/sonatype-work/nexus3/db/ 里的component,config , security 文件夹.
    • 删除/home/nexus/nexus-3.19.1-01/sonatype-work/nexus3/restore-from-backup的内容
    • 复制数据库备份文件(也就是上面0205文件夹里的内容)到 /home/nexus/nexus-3.19.1-01/sonatype-work/nexus3/restore-from-backup目录.

    blobs还原

    • 进入/home/nexus/nexus-3.19.1-01/sonatype-work/nexus3/目录, 删除或者重命名原blobs文件夹.
    • 将备份的blobs压缩文件解压到/home/nexus/nexus-3.19.1-01/sonatype-work/nexus3/目录,解压unzip blobs.zip
    • 重新启动nexus: /home/nexus/nexus-3.19.1-01/nexus-3.19.1-01/bin, 执行./nexus start

    本机已有一些库怎么办?

    1. 清除本地第三方库:
      pip freeze > packages.txt
      pip uninstall -r packages.txt
    2. 打开虚拟环境,重新通过本地nexus安装第三方库

    使用过程中要注意,如果你的内网windows电脑是python3.8版本,那么外网用的windows也一定要是python3.8版本, 否则某些库可能无法安装.


    通过云主机,下载mac,windows,linux三个平台的库

    有些第三方库,区分了不同操作系统, 所以有时候在mac主机上通过nexus下载的库, 拷贝到内网windows或linux机器上无法使用.
    操作步骤:

    1. 在云主机搭建nexus
    2. 在mac , linux, windows笔记本上,分别通过云主机下载所需的第三方库
    3. 导出云主机的nexus库,拷贝到内网nexus服务器上即可

    相关文章

      网友评论

          本文标题:使用nexus搭建内网pypi服务器

          本文链接:https://www.haomeiwen.com/subject/ejjdzctx.html