如何在当地运营Travis-ci [英] How to run travis-ci locally
本文介绍了如何在当地运营Travis-ci的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我刚加入一个项目,对Travis-ci来说我是新手。我宁愿不必为了运行构建而将每个微小的更改都推到.travis.yml
,也不必将我对源代码所做的每一个小更改都推到.travis.yml
。使用Jenkins,您可以下载Jenkins并在本地运行。特拉维斯提供这样的服务吗?
注:我看过Travis-ci cli并下载了它,但看起来 要做的是调用他们的API,然后连接到我的GitHub Repo,所以如果 我不推,我重新启动上一次生成也无关紧要。
推荐答案
此过程允许您在计算机上完全复制任何Travis生成作业。此外,您还可以随时中断进程并进行调试。下面是一个示例,其中我完美地重现了作业#191.1在php-School/cli-Menu上的结果 。
先决条件
- 您在GitHub上拥有公共回购
- 您至少在Travis上运行了一次构建
- You have Docker在您的计算机上设置
设置生成环境
引用:https://docs.travis-ci.com/user/common-build-problems/
创建您自己的临时内部版本ID
BUILDID="build-$RANDOM"
查看the build log,打开显示更多辅助进程信息按钮,找到实例行,粘贴到此处并运行(替换冒号后的标记with the newest available one):
INSTANCE="travisci/ci-garnet:packer-1512502276-986baf0"
运行无头服务器
docker run --name $BUILDID -dit $INSTANCE /sbin/init
运行连接的客户端
docker exec -it $BUILDID bash -l
运行作业
现在您已经进入了您的Travis环境。运行su - travis
开始。
这一步定义得很好,但更加繁琐和手动。您会发现Travis在环境中运行的每个命令。为此,请在右列中查找具有类似0.03s的标记的所有内容。
在左侧,您将看到实际的命令。按顺序运行这些命令。
结果
现在是运行history
命令的好时机。您可以重新启动该进程并重播这些命令,以针对更新的代码库运行相同的测试。
- 如果您的回购是私有的:
ssh-keygen -t rsa -b 4096 -C "YOUR EMAIL REGISTERED IN GITHUB"
则cat ~/.ssh/id_rsa.pub
和click here添加密钥 - 仅供参考:在将提交推送到GitHub之前,您可以
git pull
从内部docker加载来自开发框的提交 - 如果您要更改Travis运行的命令,则您有责任确定如何将其转换回有效的
.travis.yml
。 - 我不知道如何清理Docker环境,它看起来很复杂,可能这会泄漏内存
这篇关于如何在当地运营Travis-ci的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文