专栏首页一日一工具使用sonatype/nexus构建企业级内部pypi仓库

使用sonatype/nexus构建企业级内部pypi仓库

使用sonatype/nexus构建企业级内部pypi仓库

大家写python的时候有木有碰到过内部要共享应用或者交付给业务运维的时候,需要单独另外安排,要如何操作操作。另外一个层面也是会经常用到pip去安装各种包,那么我们是否需要搭建内部的。

什么情况下需要内部pypi仓库

•内部需要共享一些敏感的工程(不便上传到pypi仓库)•加速构建•提高效率

搭建pypi私服常见方案

•pypiserver•sonatype/nexus•jfrog Artifactory•devpi•docker-pypi•使用github实现pypi私服•PyPICloud•private-pypi

pypiserver

959 star, 一直在持续更新,支持Docker部署,特点就是轻,真的是实现了开箱即用。无web ui

pypiserver[1]

sonatype/nexus

分社区版和商业版,社区版能满足95%的市场需求,特点是可以实现基于角色的权限控制,支持当前市面上大部分语言,就算原生不支持,github上也能搜索到对应的插件。缺点很明确,就是太过于重量级了。

jfrog Artifactory

同样是分社区和商业版,不过社区版很鸡肋,功能很少,如果公司有钱可以考虑商业版,功能真的是好到爆,到什么程度呢,你可以理解为,将会有一半运维人会失业~

devpi

384 star, 也是一直在更新,该工具有三个组件构成,相对于pypiserver来说,复杂度有所上升。提供了web ui

devpi[2]

docker-pypi

103 star, 许久不更新了,比较小众,可以不用考虑。

docker-pypi[3]

使用github实现pypi私服

可以参考下这个文档,how-to-use-github-as-a-pypi-server[4]

PyPICloud

同样分为社区和商业版,同样支持docker部署,具体没有用过,感兴趣的小伙伴可以试一把。

pypicloud[5]

private-pypi

101 star, 一直在更新,但是没用过,感兴趣的小伙伴可以试一把。

private-pypi[6]

为什么选择sonatype/nexus

完善的基于角色的权限控制体系

可以对接LDAP,然后权限把控可以做到很细的颗粒度。

支持语言多

社区版的nexus支持当前业内大多数语言,为了确保内部统一入口,我们选择这个。

完善的API接口

打开http://ip:port/#admin/system/api即可浏览API接口的信息。

demo演示

nexus搭建

搭建其实挺简单,找一个大磁盘的机器,挂载存储到本地,一键启动即可。

> docker pull sonatype/nexus3


> docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3

新版本的nexus默认密码不再是admin123, 密码文件存储在/nexus-data/admin.password里,所以需要获取这个临时密码用来登陆。会提示让你修改密码的,不用担心。

配置

流程

•创建一个hosted类型的仓库•创建一个proxy类型的仓库•创建一个group类型的仓库,然后把上面两个类型的仓库包含进去

上传下载

留作下节分享吧,洗洗睡了~

引用链接

[1] pypiserver: https://github.com/pypiserver/pypiserver [2] devpi: https://github.com/devpi/devpi [3] docker-pypi: https://github.com/codekoala/docker-pypi [4] how-to-use-github-as-a-pypi-server: https://www.freecodecamp.org/news/how-to-use-github-as-a-pypi-server-1c3b0d07db2/ [5] pypicloud: https://pypicloud.readthedocs.io/en/latest/index.html [6] private-pypi: https://github.com/pywharf/pywharf

本文分享自微信公众号 - 追马Linux(zhuima_k8s),作者:追马是我

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用 Nexus3镜像搭设私有仓库(Bower 、Docker、Maven、npm、NuGet、Yum、PyPI)

     Nuget 是免费、开源的包管理工具,专注于在 .Net、.Net Core 平台应用开发过程中第三方组件库的管理,相对于传统单纯的 dll 引用要方便、科学...

    心莱科技雪雁
  • 使用sonatype/nexus构建企业级内部pypi仓库之demo演示

    这一步你也可以借助~/.pypirc搭配twine实现更精简的方式操作,具体看你个人喜好而定。

    追马
  • Maven and Nexus3 原

    关于maven的原理,详见:https://my.oschina.net/adailinux/blog/2247017

    阿dai学长
  • Nexus OSS 3 搭建并配置使用 Docker & Git LFS 仓库

    目录 Nexus OSS 3 介绍 环境、软件准备 Nexus OSS 3 服务搭建 Git LFS 仓库配置使用 Docker 私有仓库配置使用 1、Nexu...

    哎_小羊
  • 小伙伴问我:如何搭建Maven私服?我连夜肝了这篇实战文章!!

    作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了...

    冰河
  • Maven教程-使用Nexus搭建私服

    使用Maven可以对项目的各种依赖进行统一管理,在pom文件中定以好依赖,就可以从Maven中央库或者第三方库中下载到本地。但在企业内部使用也会遇到一些问题,每...

    林老师带你学编程
  • Nexus3最佳实践系列:搭建Docker私有仓库

    容器仓库是容器化管理中非常重要的一环,相当于 SVN 在程序研发、运维发布中的地位。因此,一个稳定、可靠的容器仓库尤为重要。

    张戈
  • 使用Nexus代理yum、npm、pypi

    生产环境中,一般不会允许所有服务器都能访问公网,理想的情况是有几台服务器作为访问代理,同时作为缓存服务器。当服务器中有所需包时通过内网获取,如无则通过公网获取同...

    Honest1y
  • Kubernetes 中部署 Maven 私有仓库 Sonatype Nexus3

    java程序员们想弄一个私有maven仓库,嗯 正常的是用nexus or artfactory? artfactory是两三年前听jfrog的讲座知道的...

    对你无可奈何
  • 预警 | Nexus Repository Manager 3 访问控制缺失及远程代码执行漏洞安全预警

    近日,腾讯安全云鼎实验室发现了通用软件包仓库管理服务 Nexus Repository Manager 3 存在访问控制缺失及远程代码执行漏洞(漏洞编号:CVE...

    云鼎实验室
  • 使用 Nexus OSS 为 Docker 镜像提供代理/缓存功能

    在企业环境中工作,无论是商业组织还是非商业组织,你会发现在互联网上获取信息存在着种种限制。

    LinuxSuRen
  • 运维自动化基础建设|企业级工件库选择和搭建

    •加速CI/CD的响应,减少等待•避免关键代码泄漏(站在安全角度)•为规范化建设提供基石•统一管理依赖•工件的生命周期的管理

    追马
  • Docker系列教程11-使用Nexus管理Docker镜像

    Nexus简介 Nexus是一个多功能的仓库管理器,是企业常用的私有仓库服务器软件。目前常被用来作为Maven私服、Docker私服。本文基于 Nexus3.5...

    用户1516716
  • CVE-2019-7238 Nexus Repository Manager 3 RCE漏洞复现

    Nexus Repository Manager是Sonatype公司的一个产品,简称NXRM,它是一款通用的软件包仓库管理服务,可以简单的理解为Maven的私...

    用户1631416
  • 如何发布Maven依赖到中央仓库

    平时我们都是从Maven中央仓库下载依赖,如果我们想发布我们自己写的Maven依赖到中央仓库供别人下载使用应该怎么办?这里以上传自己写的simian-maven...

    用户1221057
  • Maven学习笔记

    步骤 1、新建一个maven项目, 工程类型选择为war项目 2、在webapps目录下创建WEB-INF目录 3、在WEB-INF目录下创建web.xm...

    时间静止不是简史
  • maven中心仓库OSSRH使用简介

    使用java做项目的朋友肯定对maven不陌生,maven为我们提供了一个中心仓库,我们在构建java项目时,直接从maven中心仓库中下载依赖的jar包到本地...

    程序那些事
  • Maven私服搭建(Nexus Repository Manager 3)

    下载地址:https://help.sonatype.com/repomanager3/download

    布禾
  • Nexus3 OSS环境搭建以及在日常工作中的用途

    本文介绍的Nexus不是谷歌的一个手机品牌哈,而是一个非常强大的仓库管理平台。支持常见的Docker、Maven、npm、PyPI等仓库的管理。

    小博测试成长之路

扫码关注云+社区

领取腾讯云代金券