Codeship的YAML配置文件支持。
项目描述
为Codeship提供YAML配置文件支持。
语法兼容性 |
|
---|---|
Travis CI |
|
Shippable |
|
背景
许多持续集成服务支持YAML配置文件以支持基础设施即代码范式。尽管Codeship是最吸引人的平台之一,但它缺少此功能。您必须在Codeship项目设置中添加有关设置、测试和部署的命令。这有许多缺点,尽管用户正在投诉,Codeship并不打算在其传统的构建服务器基础设施中解决这个问题。(只有Codeship基于Docker的新基础设施最终会让您感到高兴。)
用法
在您的仓库根目录下创建一个codeship.yml文件。语法受Travis CI和Shippable的启发,尽管只支持有限的功能。示例
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 按以下顺序执行您在以下默认部分指定的命令:
安装
前置脚本
脚本
成功后
更多控制
如果您想对要执行的章节有更多控制,可以将请求的章节作为参数指定。例如,您可以将以下命令添加到以下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 时,所有测试都会在 Codeship、Travis CI 和 Shippable 的构建服务器基础设施上再次运行。请检查它们是否全部通过,以确保语法在不同的构建基础设施之间保持兼容。
要删除包括Python字节码在内的所有构建文件和文件夹,可以运行
$ tox -e clean
致谢
本项目的开发者是 Painless Software,这是一家软件开发最佳实践的咨询公司。减少痛苦,增加乐趣。
向所有贡献者致以诚挚的 “谢谢!”
Dave Allie(命令输出分节和着色)
codeship-yaml-0.4.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cb9595f360d91f444a651e3d50e302e9cbe6e1d2d1be10b52cab8cee08967146 |
|
MD5 | a0efd806d6969dd88b95769f095f4678 |
|
BLAKE2b-256 | be44f1a58d2466bb717c516e6b2f1e86ce5b67ea8c28221e106c297cb49071d3 |
codeship_yaml-0.4.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6ba8d9c449e93d173180870a4bfebba200b6238cdaba7ff6c737b13a746b2b49 |
|
MD5 | c1b5b4ee8cf95e7523e3edf7add37a26 |
|
BLAKE2b-256 | 75ef9233bf6fea32e0798e8697314e666176d8a9a210c2be547976d784d40b17 |
codeship_yaml-0.4.0-py2-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2e2eb8cf1078edc654f77d0b454fbe58c8a4aff380e3d58e1fa7367cabf198a6 |
|
MD5 | bb1dcf547a4b4cea6aa8ea1c521a0bcc |
|
BLAKE2b-256 | fb2fd197ab40c0b66a76d8f1f9eec1fa99818405a046b15d16feabb9562d67f2 |