gitlab+jenkins自动发布Python包到私有仓储

本文介绍了如何在GitLab和Jenkins环境下,实现Python包的自动发布到私有仓库,同时解决权限控制和节点更换带来的问题。通过设置仓库名称,指定仅编译tag分支,结合Jenkins自动触发、GitLab事件推送和密码注入,确保安全且灵活的自动化流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

  • 有个私有仓储,地址为https://your.repo.com/pypi/
  • 代码存储在gitlab, 地址为https://gitlab.company.com/software.git
  • CI为jenkins

常规解决手法

jenkins有一个特定的节点,节点里面已经配置好了%HOMEPATH%/.pypirc

[distutils]
index-servers =
  deploy

[deploy]
repository=https://your.repo.com/pypi/
username=youraccmount
password=yourpwd

然后直接使用

python setup.py sdist upload -r deploy

问题

权限控制

私有仓储存在一个权限, 只有高级别的账号才能push. 而所有人都可以pull包. 那么就存在一个问题. 绝对不能将leader的账户密码直接记录在jenkins节点的配置中.这样很容易就暴露权限.

如果换了台节点

常用方法需要在节点配置.pypirc文件. 如果我想换台节点,还需要登陆到新节点进行配置.这样非常不方便.

需求

  • 绝对不能暴露高级别的账号密码
  • 对节点无特殊需求, CI任务换哪个节点都可以
  • 希望能够自定义包的版本. 而不是每次都是某个固定的版本
  • 我提交代码到gitlab. 然后就自动发布到仓储

解决

我新打了一个tag0.1.1, 然后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值