用于发布HuBMAP计算管道的管理脚本
hubmap-pipeline-release-mgmt的Python项目详细描述
概述
这个包提供了一个方便的脚本,它自动化了 标记和发布HuBMAP计算版的生产就绪版本 分析管道。在
安装
运行python3 -m pip install hubmap-pipeline-release-mgmt。在
使用
安装包后,导航到包含 管道,并确保master分支是您想要的 作为一个新的标记版本发布(包括任何 子模块)。在
选择一个新的版本号(最好以v开头),比如v1.0, 然后运行:
tag_release_pipeline v1.0
大部分脚本都是自动化的,但是Git会要求您提供一个标记消息(通过 打开文本编辑器),除非将标记消息作为参数提供 通过--tag-message参数编写脚本。在
要使用GPG对Git标记进行签名,请附加--sign(如果要使用 一个非默认密钥,add--sign=preferred@email.address。)
(您的本地master分支可以在^{tt9}之后或之前$ –如果落后,它将更新为git pull,如果在前面 origin/master将用git push更新。您的master分行 然而,origin/master不能使发散,但是;tag_release_pipeline 如果是这种情况,将中止。)
tag_release_pipeline脚本对状态做了几个假设 如果违反了这些假设,脚本将 可能会大声失败,并将本地副本置于任意状态。确保 为了获得最佳效果,你没有局部修改(尽管你不应该这样做, 如果准备管道的发布版本)。在
在高层,tag_release_pipeline会:
- 签出master分支,拉/推使它与origin/master匹配
- 签出或创建release分支
- 将master合并到release
- 更新所有子模块的内容以匹配在master
- 在docker_images.txt中生成所有Docker容器,使用 multi-docker-build包
- 将所有容器标记为latest,并使用新的标记名
- 将所有Docker容器/标签推送到Docker Hub
- 更新所有CWL文件以使用从中生成的任何容器的标记版本 管道存储库(,即docker_images.txt中列出的存储库)
- 提交更新的CWL文件
- 标记新提交,是否签名
- 推送master和release分支和新标记
选项:
--pretend | Don’t run anything that would make any modifications to any Git repositories or Docker images. This will still run ^{tt30}$ to obtain the list of Git branches, however. This will print all commands which would be run. |
--tag-message | (alias: ^{tt31}$) Use this string as the tag message. This is given to Git as the ^{tt31}$ argument to ^{tt33}$, which stops Git from asking for a tag message interactively. |
--sign | Sign the new tag with GPG using your default identity. |
--sign=identity | |
Sign the new tag with GPG, using the specified identity (email address). | |
--no-push | Don’t push anything to Docker Hub or the Git remote repository. Everything will be committed, tagged, and built locally. |
要求
- Python3.6或更新版本。在
- multi-docker-buildPyPI包的0.3或更新版本(它 应自动安装)。在
- 项目
标签: