如何在当地运营Travis-ci [英] How to run travis-ci locally

查看:15
本文介绍了如何在当地运营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/

  1. 创建您自己的临时内部版本ID

    BUILDID="build-$RANDOM"
    
  2. 查看the build log,打开显示更多辅助进程信息按钮,找到实例行,粘贴到此处并运行(替换冒号后的标记with the newest available one)

    INSTANCE="travisci/ci-garnet:packer-1512502276-986baf0"
    
  3. 运行无头服务器

    docker run --name $BUILDID -dit $INSTANCE /sbin/init
    
  4. 运行连接的客户端

    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.pubclick here添加密钥
  • 仅供参考:在将提交推送到GitHub之前,您可以git pull从内部docker加载来自开发框的提交
  • 如果您要更改Travis运行的命令,则您有责任确定如何将其转换回有效的.travis.yml
  • 我不知道如何清理Docker环境,它看起来很复杂,可能这会泄漏内存

这篇关于如何在当地运营Travis-ci的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆