跳转到主要内容

PyBEL Git工具

项目描述

为PyBEL提供Git和持续集成工具,以协助编辑BEL。

如果您在您的工作中发现pybel-git很有用,请考虑引用[1]

与持续集成的使用

以下是一些在几个持续集成服务配置中使用pybel-git的示例。另外,可以使用-r选项来指定所需的注释。例如,在重新编辑过程中可以使用-r Confidence

使用GitHub和Travis-CI

要配置Travis-CI以评估每个提交中GitHub存储库中更改的BEL文件,可以使用以下travis.yml文件

sudo: false
cache: pip
language: python
python:
  - '3.7'
install:
  - pip install pybel-git
script:
  - pybel-git ci

目前,构建过程没有使用缓存资源文件,因此这个任务可能需要很长时间。可以使用travis_wait命令,使脚本读取travis_wait 30 pybel-git ci,并且任务将被允许运行三十(30)分钟。

示例仓库可以在https://github.com/cthoyt/pybel-git-test找到。该仓库的示例构建可以在https://travis-ci.cn/cthoyt/pybel-git-test/builds/87612373找到。

使用GitLab与GitLab CI/CD

要配置GitLab CI/CD以评估GitLab仓库中最新提交中更改的BEL文件,可以使用以下.gitlab-ci.yml配置文件

test:
  image: python:3.7
  script:
    - pip install pybel-git
    - pybel-git ci

与GitHub/Travis-CI类似,此配置不使用缓存资源文件。GitLab CI/CD似乎不提供等待时间,但也可能不存在超时问题。

示例仓库可以在https://gitlab.com/cthoyt/pybel-gitlab-example找到。该仓库的示例构建可以在https://gitlab.com/cthoyt/pybel-gitlab-example/-/jobs/113454179找到

使用Atlassian BitBucket与Bitbucket Pipelines

要配置BitBucket Pipelines以评估BitBucket仓库中最新提交中更改的BEL文件,可以使用以下bitbucket-pipelines.yml配置文件

image: python:3.7

pipelines:
  default:
    - step:
        caches:
          - pip
        script:
          - pip install pybel-git
          - pybel-git ci

示例仓库可以在https://bitbucket.org/pybel/pybel-bitbucket-example找到。该仓库的示例构建可以在https://bitbucket.org/pybel/pybel-bitbucket-example/addon/pipelines/home#!/results/2找到

与Git服务和持续集成一起使用

与GitLab的深度集成

PyBEL-Git包含额外的脚本,以协助位于GitLab并使用Git Flow分支和合并请求工作流程的项目进行自动检查和反馈。

该脚本会检查每个分支,编译与master相比发生更改的BEL文档,并在合并请求中添加注释,包含对BEL文件的语法和语义正确性的警告和反馈。

它可以这样运行

pybel-git ci_gitlab \
         --url "https://gitlab.scai.fraunhofer.de"  # the url of the desired gitlab instance \
     --project-id 449  # the gitlab project id, shown at the top of the page for the repository \

此脚本使用EasyConfig,也可以通过环境变量GITLAB_URLGITLAB_PROJECT_IDGITLAB_TOKEN进行配置。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

pybel_git-0.1.0.tar.gz (8.7 kB 查看哈希值)

构建分发

pybel_git-0.1.0-py3-none-any.whl (8.5 kB 查看哈希值)

上传于 Python 3

由以下支持