持续集成(与iOS和Android项目)[关闭]


10

我正在尝试对公司进行一些积极的改变,其中之一是实现持续集成。我们进行移动开发(iOS / Android),因此我需要一个同时支持两种类型项目的配置项。如您所知,我对CI的了解不多,但我在Google上进行了一些搜索,我认为Jenkins和Hudson是最受欢迎的两个。

我有两个部分的问题。

  1. 您对詹金斯有何想法?
  2. CI是否有办法检查项目是否符合
    编码标准(例如松耦合等)?

3
“詹金斯和哈德森是两个”……嗯,您是否知道詹金斯哈德森的新名字?
蚊蚋

1
我真的不知道!就像我说的,我真的是CI的新手,有0位经验。Soooo .. J&H同样的事情。.猜猜这使我的选择范围缩小了:)
paxx 2012年

还有Team City,Cruise Control等。
凯尔·霍奇森

@gnat:好吧,我认为詹金斯是哈德森的一个分支。我认为hudson仍然存在:由Oracle管理的hudson-ci.org。詹金斯(Jenkins)是非常优秀的叉子,对大多数人来说,这都是移居的。抱歉,如果我错了...
dbalakirev 2012年

Answers:


9

首先,您可能希望将TeamCity视为服务器的另一种选择。

在我看来(尽管我在Jenkins上的经验比在TeamCity上要少一些)都是出色且功能强大的工具-在使用这两种工具的环境中,我会感到高兴。

好吧,要解决问题的实质,即

CI是否有办法检查项目是否符合编码标准(例如松耦合等)?

在最基本的层次上,CI服务器所做的全部工作是运行脚本,然后解释并显示运行该脚本的结果-因此,如果您可以对其进行脚本化,则您的CI服务器可能可以运行它,并且可以适当地格式化输出,然后CI服务器可能可以解释并报告结果。

当然主要的构建服务器已经能够说话/用了很多流行的工具集成的-所以真正的问题是您使用的检查您的编码标准有什么工具和做的是与您所选择CI服务器的整合。

是的,CI服务器在自动化方面给游戏带来了更多好处,而不仅仅是盲目地运行脚本-但归根结底,这就是它的作用。


需要明确的是-我知道构建服务器不仅可以运行脚本,还可以自动化处理过程(尤其是与(D)VCS的集成),从而增加了价值-但回答“我需要什么生成服务器”问题的答案是“服务器和脚本”,其他一切都从那里流出来。


我非常成功地将TeamCity用作iOS的CI服务器。我以为将它用于Android
毫无疑问

5

我对TeamCity的建议表示赞同-这是一个很棒的产品。我无法与android对话,因为我在那里没有空位,但是我成功地在CI中运行了iOS项目,这要感谢两篇文章(1 2)。

最棘手的部分实际上与使Mac运行具有正确的钥匙串的自动化构建有关,因此您可以创建一个签名的应用程序,然后将其部署到iDevice而不是仅用于仿真器的选项。


是否可以将TeamCity安装到Linux服务器上,然后使其处理iOS项目?
paxx 2012年

1
TeamCity没关系,它是构建代理。对于iOS,您将必须部署到Mac。只有它具有工具链。您可能可以使用GNUStep来做一些事情,但是我怀疑您在处理任何不重要的事情时会感到非常沮丧。
Wyatt Barnett 2012年

2

在使用我们开发iOS应用程序的Jenkins之前,我已经设置了公司的构建服务器和脚本。就像许多人所说的那样,CI服务器非常简单,我喜欢Jenkins,因为它是免费/开源的,并且具有许多插件,例如发布覆盖率报告或github集成。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.