pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

為 iphone 應(yīng)用程序設(shè)置自動(dòng)構(gòu)建服務(wù)器的最佳實(shí)踐

Best practice for setting up an automated build server for iphone apps?(為 iphone 應(yīng)用程序設(shè)置自動(dòng)構(gòu)建服務(wù)器的最佳實(shí)踐?)
本文介紹了為 iphone 應(yīng)用程序設(shè)置自動(dòng)構(gòu)建服務(wù)器的最佳實(shí)踐?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

限時(shí)送ChatGPT賬號(hào)..

我正在為我們的 iphone 應(yīng)用程序設(shè)置一個(gè)自動(dòng)化的夜間構(gòu)建服務(wù)器,并尋求有關(guān)哪些有效和哪些無(wú)效的建議.

I'm looking to setup an automated nightly build server for our iphone apps, and looking for advice on what works and what doesn't.

基本上,至少每晚運(yùn)行所有單元測(cè)試并將新的臨時(shí)構(gòu)建發(fā)布到我們的內(nèi)部網(wǎng)站.

Basically, something that at least nightly runs all the unit tests and publishes a new adhoc build to our internal website.

所有開發(fā)人員都使用筆記本電腦(它會(huì)在一夜之間關(guān)閉),所以我正在考慮使用專用的 Mac Mini 來(lái)執(zhí)行此操作.

All the developers use laptops (which'll be off overnight), so I'm considering getting a dedicated Mac Mini to do this.

我不確定我應(yīng)該獲得標(biāo)準(zhǔn) Mac OS X 還是服務(wù)器版本.

I'm not sure if I should get standard Mac OS X or the server edition.

至少在第一次嘗試時(shí),我正在考慮僅使用從 crontab 運(yùn)行的簡(jiǎn)單 shell 腳本來(lái)完成實(shí)際工作.將來(lái)一個(gè)完整的持續(xù)集成服務(wù)器(hudson 等)會(huì)很好.

At least for the first attempt, I'm considering just using a simple shell script run from a crontab to do the actual work. In the future a full continuous integration server (hudson etc) would be good.

我已經(jīng)通過(guò)搜索找到了一些文章,雖然它們很簡(jiǎn)短:

I've already found a few articles through searching, though they're quite brief:

http://nachbaur.com/blog/how-to-automate-your-iphone-app-builds-with-hudson

http://blog.jeffreyfredrick.com/2008/11/27/continuous-integration-for-iphonexcode-projects/

而且這個(gè) stackoverflow 問(wèn)題也有一些有用的軟件信息(雖然它現(xiàn)在已經(jīng)兩年了):

and also this stackoverflow question has some useful software info (though it's two years old now):

Xcode 項(xiàng)目的持續(xù)集成?

如果人們可以就如何設(shè)置構(gòu)建服務(wù)器和任何潛在問(wèn)題提供任何指導(dǎo),我們將不勝感激.

Any guidance people can give on how they've setup a build server and any potential issues would be greatly appreciated.

謝謝!

約瑟夫

推薦答案

Hudson(或其分支 Jenkins) 確實(shí)不難設(shè)置;這是我們內(nèi)部使用的.我們不只是從中運(yùn)行 iphone 構(gòu)建 - 事實(shí)上,只有一個(gè)單獨(dú)的 mac mini 設(shè)置用于 iphone 構(gòu)建,而且它是一個(gè)相對(duì)較新的添加.一段時(shí)間以來(lái),我們已經(jīng)為其他不同平臺(tái)安裝了六個(gè)其他奴隸.

Hudson (or its fork Jenkins) is really not hard to set up; it's what we use internally. We don't just run iphone builds from it -- in fact, there's only only one lone mac mini set up for iphone builds, and it's a relatively recent addition. We've had a half-dozen other slaves on it for other different platforms for some time.

您可以通過(guò) Meet 上的試駕"鏈接玩它Hudson 頁(yè)面來(lái)感受一下它是多么容易設(shè)置.(這是賣給我的東西之一;它真的很容易上手,但仍然可配置、可擴(kuò)展且功能強(qiáng)大,足以讓我們?cè)谶^(guò)去幾年中不斷擴(kuò)展.它取代了一堆非常笨拙的手-滾動(dòng)的腳本和程序,盡管是作者,但我很高興看到安息.)

You can play with it through the "Test Drive" link on the Meet Hudson page to get a feel for how easy it is to set up. (This is one of the things that sold me on it; it was really easy to get started with, but still configurable, extensible, and powerful enough to keep us expanding over the last few years. It replaced a really kludgy pile of hand-rolled scripts and programs that, despite being the author of, I was very happy to see laid to rest.)

我們?cè)趶?qiáng)大的 Mac OSX 服務(wù)器上運(yùn)行 hudson 后端,但沒(méi)有理由不能在任何地方(linux、windows、mac)運(yùn)行它.

We have the hudson backend running on a beefy Mac OSX server, but there's no reason you couldn't run it pretty much anywhere (linux, windows, mac).

至于配置構(gòu)建——項(xiàng)目配置中大概有6行shell腳本,主要是調(diào)用xcodebuild并傳遞-project-配置參數(shù).

As for configuring it for building -- it's about 6 lines of shell script in the project configuration, mostly calling xcodebuild and passing it -project and -configuration arguments.

例子:

cd ${WORKSPACE}/Engineering/

set -e
set -v

xcodebuild -project foo.xcodeproj -alltargets -configuration Distribution clean
xcodebuild -project foo.xcodeproj -alltargets -configuration Release clean
xcodebuild -project foo.xcodeproj -alltargets -configuration Debug clean

xcodebuild -project foo.xcodeproj -alltargets -configuration Distribution
xcodebuild -project foo.xcodeproj -alltargets -configuration Release
xcodebuild -project foo.xcodeproj -alltargets -configuration Debug

我們還沒(méi)有設(shè)置從屬服務(wù)器作為服務(wù)運(yùn)行——這在 TODO 列表中.現(xiàn)在,只要我們重新啟動(dòng)它所在的 mini,我們就通過(guò) JNLP 啟動(dòng)它.

We haven't set up the slave to run as a service yet -- this is on the TODO list. For now we just launch it via JNLP whenever we reboot the mini it's on.

Repository 是 SVN,hudson master 負(fù)責(zé)為我們記住 https auth 信息.

Repository is SVN, and the hudson master takes care of remembering the https auth info for us.

我們積極使用 Email-ext 插件,并且有一個(gè)構(gòu)建超時(shí)插件和一個(gè)審計(jì)跟蹤插件,因?yàn)橛泻芏嗥渌嗽谑褂迷撓到y(tǒng),并且一些構(gòu)建行為不正常.我們對(duì) Warnings 插件和 靜態(tài)代碼分析插件,需要用到在更多項(xiàng)目上(我們通常會(huì)在構(gòu)建中將警告作為錯(cuò)誤,但我們確實(shí)在某些項(xiàng)目上使用 PC-Lint 和其他工具;在這里匯總和跟蹤輸出非常好).最后是最重要的 Chuck Norris 和 Emotional Hudson 插件.

We actively use the Email-ext plugin, and have a build timeout plugin and an audit trail plugin since there are a lot of other people using the system and some of the builds are not well-behaved. We've experimented briefly with the Warnings plugin and Static Code Analysis plugins as well, need to get those used on more projects (we usually have warnings as errors in builds, but we do use PC-Lint and other tools on some projects; having output aggregated and tracked here is very nice). Finally the all-important Chuck Norris and Emotional Hudson plugins.

我們目前沒(méi)有在任何 iphone 版本上運(yùn)行單元測(cè)試(真遺憾!),我們只是使用 hudson 內(nèi)置的普通歸檔工件"功能來(lái)存儲(chǔ)版本.這些可以通過(guò)授權(quán)用戶通過(guò) hudson Web 界面訪問(wèn).我毫不懷疑在框架內(nèi)運(yùn)行單元測(cè)試對(duì)您來(lái)說(shuō)并不難.

We're currently not running unit tests (shame!) on any of the iphone builds, and we just use the ordinary "Archive the Artifacts" functionality built into hudson for storing builds. These can be accessed via authorized users via the hudson web interface. I've no doubt that it would not be hard for you to run your unit tests within the framework.

</fanboy>

</fanboy>

我們唯一真正的問(wèn)題與 mac mini 上的 AFP 和 SMB 有關(guān)——與 hudson 完全無(wú)關(guān),更多的是我們的內(nèi)部網(wǎng)絡(luò)基礎(chǔ)設(shè)施.mini 對(duì)我來(lái)說(shuō)有點(diǎn)慢——我們通常運(yùn)行相當(dāng)強(qiáng)大的構(gòu)建奴隸,理論認(rèn)為快速的自動(dòng)構(gòu)建周轉(zhuǎn)是一件好事.出于這個(gè)原因,mini 可能會(huì)在某個(gè)時(shí)候獲得 SSD.

Our only real issues have had to do with AFP and SMB on the mac mini -- nothing to do with hudson at all, more just our internal network infrastructure. And the mini is a bit slow for my tastes -- we usually run pretty beefy build slaves on the theory that quick autobuild turnaround is a good thing. The mini may be gifted an SSD for this reason at some point.

這篇關(guān)于為 iphone 應(yīng)用程序設(shè)置自動(dòng)構(gòu)建服務(wù)器的最佳實(shí)踐?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Using Instruments to test an iOS app without having source code to the application(在沒(méi)有應(yīng)用程序源代碼的情況下使用 Instruments 測(cè)試 iOS 應(yīng)用程序)
KIF: How to auto-run/stress test an iOS app to find the cause of a rare UI bug?(KIF:如何自動(dòng)運(yùn)行/壓力測(cè)試 iOS 應(yīng)用程序以找出罕見(jiàn) UI 錯(cuò)誤的原因?)
UITableView: Handle cell selection in a mixed cell table view static and dynamic cells(UITableView:在混合單元格表視圖靜態(tài)和動(dòng)態(tài)單元格中處理單元格選擇)
How to remove Address Bar in Safari in iOS?(如何在 iOS 中刪除 Safari 中的地址欄?)
Having trouble creating UIImage from CIImage in iOS5(在 iOS5 中從 CIImage 創(chuàng)建 UIImage 時(shí)遇到問(wèn)題)
Get list of all photo albums and thumbnails for each album(獲取所有相冊(cè)的列表和每個(gè)相冊(cè)的縮略圖)
主站蜘蛛池模板: 深圳律师咨询_深圳律师事务所_华荣【免费在线法律咨询】网 | 阿米巴企业经营-阿米巴咨询管理-阿米巴企业培训-广东键锋企业管理咨询有限公司 | 银川美容培训-美睫美甲培训-彩妆纹绣培训-新娘化妆-学化妆-宁夏倍莱妮职业技能培训学校有限公司 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 焊缝跟踪系统_激光位移传感器_激光焊缝跟踪传感器-创想智控 | 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 上海璟文空运首页_一级航空货运代理公司_机场快递当日达 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | 地图标注-手机导航电子地图如何标注-房地产商场地图标记【DiTuBiaoZhu.net】 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 厂厂乐-汇聚海量采购信息的B2B微营销平台-厂厂乐官网 | 生物颗粒燃烧机-生物质燃烧机-热风炉-生物颗粒蒸汽发生器-丽水市久凯能源设备有限公司 | 泵阀展|阀门展|水泵展|流体机械展 -2025上海国际泵管阀展览会flowtech china | 萃取箱-萃取槽-PVC萃取箱厂家-混合澄清槽- 杭州南方化工设备 | 睿婕轻钢别墅_钢结构别墅_厂家设计施工报价| 尚为传动-专业高精密蜗轮蜗杆,双导程蜗轮蜗杆,蜗轮蜗杆减速机,蜗杆减速机生产厂家 | LINK FASHION 童装·青少年装展 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 筒瓦厂家-仿古瓦-寺庙-古建琉璃瓦-宜兴市古典园林建筑陶瓷厂有限公司 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 特材真空腔体_哈氏合金/镍基合金/纯镍腔体-无锡国德机械制造有限公司 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 | 铣刨料沥青破碎机-沥青再生料设备-RAP热再生混合料破碎筛分设备 -江苏锡宝重工 | 冷油器,取样冷却器,热力除氧器-连云港振辉机械设备有限公司 | 天津蒸汽/热水锅炉-电锅炉安装维修直销厂家-天津鑫淼暖通设备有限公司 | 广西教师资格网-广西教师资格证考试网 | 胀套-锁紧盘-风电锁紧盘-蛇形联轴器「厂家」-瑞安市宝德隆机械配件有限公司 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 金联宇电缆总代理-金联宇集团-广东金联宇电缆实业有限公司 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | 【黄页88网】-B2B电子商务平台,b2b平台免费发布信息网 | 上海橡胶接头_弹簧减震器_金属软接头厂家-上海淞江集团 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | [品牌官网]贵州遵义双宁口腔连锁_贵州遵义牙科医院哪家好_种植牙_牙齿矫正_原华美口腔 | 高效节能电机_伺服主轴电机_铜转子电机_交流感应伺服电机_图片_型号_江苏智马科技有限公司 | 事迹材料_个人事迹名人励志故事 学生作文网_中小学生作文大全与写作指导 | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 宽带办理,电信宽带,移动宽带,联通宽带,电信宽带办理,移动宽带办理,联通宽带办理 | 钢格板|热镀锌钢格板|钢格栅板|钢格栅|格栅板-安平县昊泽丝网制品有限公司 | 衢州装饰公司|装潢公司|办公楼装修|排屋装修|别墅装修-衢州佳盛装饰 |