首页 文章

试图了解Travis CI的作用以及何时应该使用它

提问于
浏览
62

我是Git的新手,我计划在发现GitHub中的一个小错误之后为GitHub上的一些开源项目做出贡献 . 在分叉并修复错误后,我提出了一个拉取请求,我注意到了这一点:

失败 - Travis CI构建失败

查看详细信息,我发现它是由 Could not find .travis.yml 引起的,因为我没有登录到Travis Cl并且将.travis.yml添加到存储库,所以这非常有意义 .

这是我第一次听说特拉维斯以及所谓的持续整合 . 这听起来很酷,所以为了更多地了解它,我在维基百科上查了一下 .

Travis CI是一种托管的分布式持续集成服务,用于构建和测试GitHub上托管的项目 . Travis CI会自动检测何时提交并推送到使用Travis CI的GitHub存储库,每次发生这种情况时,它都会尝试构建项目并运行测试 . 这包括对所有分支的提交,而不仅仅是对主分支的提交 .

我目前对特拉维斯CI的理解是,它所做的是在 git commit -am ".." 上自动推动该项目,我不太了解它的某些部分 .

  • 11405314,它会运行什么测试?这个项目怎么回事? (比如把它编译成二进制文件?)

  • 它声明“这包括对所有分支的提交” - 但是如果我不想承诺所有分支怎么办?

  • 如果我根本不使用Travis Cl,那还好吗?在什么情况下最好使用它(或必须使用它)?

2 回答

  • 13

    解释Travis CI的最简单方法是运行你的程序's tests every time you commit to GitHub (this can be configured in many ways, and you can always disable builds on some branches). The point of this is that you can often discover very quickly if your commit broke something, and fix it before it becomes a problem. I would recommend running Travis CI on every GitHub repo that you have unit tests in and is using a programming language supported by Travis CI. Since setting up Travis CI is very easy, I don' t通常会看到一个不使用它的好理由,除非你不在乎你是否在你的程序中通过了测试 . 如果您有任何疑问,请随时发表评论 . 您可以阅读有关Travis CI here的更多信息 .

  • 76

    正如您已经发现什么是Travis-CI,我会直接指出您的问题 .

    通过构建项目并运行测试,它将运行哪些测试?它如何“构建”该项目? (比如把它编译成二进制文件?)

    .travis.yml 文件中,您指定了操作系统,编程语言,回购分支,项目文件名和其他详细信息 . 通过阅读此文件,Travis-CI将使用安装在其服务器上的特定编译器来编译我们的代码 . 可能他们将拥有与Github相同的机制 . 他们第一次可以提取代码[如果我们指定了特定的分支,他们可能只从那些分支中提取代码] . 此外,我们已经通过身份验证以使用我们的帐户与Travis-CI,每当我们进行提交时,应该有一些通知应该触发到Travis-CI服务器,因此它将被识别为提交并且它将开始编译 .


    它声明“这包括对所有分支的提交” - 但如果我不想承诺所有分支怎么办?

    您可以指定不同的分支或 master 分支 . 它应该只编译 .travis.yml 文件中指定的特定分支 .


    如果我根本不使用Travis Cl,那好吗?在什么情况下最好使用它(或必须使用它)?

    是的,没关系 . 没有大碍 . 但是,如果不将这种易于集成的引擎与您的仓库一起使用,您将会失去什么好处 . 每次你提交它可能会遗漏一些因为代码而无法编译 . 你怎么知道的?因此,您应该使用Travis-CI .


    我写过一篇博文,你可以阅读,知道什么是Travis-CI,Continuous Integrations以及如何将Travis-CI与你的Github Repo联系起来 . 我已经为Swift存储库编写了它 .

相关问题