跳转到主要内容

Codeship的YAML配置文件支持。

项目描述

Build status Code health Python versions Software license Gitter chat room

Codeship提供YAML配置文件支持。

语法兼容性

Travis CI

Build status

Shippable

Build status

背景

许多持续集成服务支持YAML配置文件以支持基础设施即代码范式。尽管Codeship是最吸引人的平台之一,但它缺少此功能。您必须在Codeship项目设置中添加有关设置、测试和部署的命令。这有许多缺点,尽管用户正在投诉,Codeship并不打算在其传统的构建服务器基础设施中解决这个问题。(只有Codeship基于Docker的新基础设施最终会让您感到高兴。)

用法

在您的仓库根目录下创建一个codeship.yml文件。语法受Travis CIShippable的启发,尽管只支持有限的功能。示例

install:
  - pip install flake8
before_script:
  - touch codeship-yaml-was-here
script:
  - flake8
after_success:
  - echo "Now we can deploy"

为了让Codeship能够读取和解析您的 codeship.yml 文件,并在其中执行命令,请在 Codeship > 选择项目… > (您的项目)项目设置 > 测试设置 中的 设置命令 文本框中添加以下行。

pip install codeship-yaml
codeship-yaml

这将使 codeship-yaml 按以下顺序执行您在以下默认部分指定的命令:

  1. 安装

  2. 前置脚本

  3. 脚本

  4. 成功后

更多控制

如果您想对要执行的章节有更多控制,可以将请求的章节作为参数指定。例如,您可以将以下命令添加到以下Codeship项目中的文本框中:

项目设置 > 测试设置 > 设置命令

pip install codeship-yaml
codeship-yaml install

项目设置 > 测试设置 > 测试命令

codeship-yaml before_script script

项目设置 > 部署 > (分支名称)

codeship-yaml after_success

除了默认章节外,还可以将自定义章节添加到您的 codeship.yml 文件中,但这是不建议的(以避免与其他构建平台失去相似性)。如果您想添加一个已经在其他平台上建立的额外章节,请考虑提出一个 pull request

Python 3

Codeship Basic的构建镜像默认运行 Python 2.7,但还安装了3.4到3.7的版本。Codeship要求您使用 pyenv 激活它们。尽管Python不是Codeship的主要专长,但请期待一段颠簸的旅程。激活Python版本可能更容易。悲伤的故事。

要并行使所有Python版本可用,请将以下命令添加到Codeship 项目设置 > 设置命令 的顶部

pyenv global 2.7 3.4 3.5 3.6 3.7

贡献

我们使用 tox 进行开发,它处理所有支持的Python版本的静态代码分析和测试。

$ pip install tox

在修改代码后,别忘了添加测试,然后简单地运行

$ tox

当您放置一个 pull request 时,所有测试都会在 CodeshipTravis CIShippable 的构建服务器基础设施上再次运行。请检查它们是否全部通过,以确保语法在不同的构建基础设施之间保持兼容。

要删除包括Python字节码在内的所有构建文件和文件夹,可以运行

$ tox -e clean

致谢

本项目的开发者是 Painless Software,这是一家软件开发最佳实践的咨询公司。减少痛苦,增加乐趣。

向所有贡献者致以诚挚的 “谢谢!”

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面