成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用VSTS/TFS搭建iOS持續集成環境

開發 開發工具
蘋果的iOS開發平臺是一個相對封閉的生態,開發人員必須使用macOS和XCode才能完成應用程序的編譯和打包操作,但這并不妨礙你使用其它的操作系統進行編碼和測試。

TFS 自2015版開始支持跨平臺的持續集成環境,通過提供開源的build agent為 Windows / Linux / macOS 提供了統一的持續集成環境管理能力。這篇文章給大家介紹一下如何使用 VSTS/TFS 來搭建 iOS 持續集成環境。

蘋果的iOS開發平臺是一個相對封閉的生態,開發人員必須使用macOS和XCode才能完成應用程序的編譯和打包操作,但這并不妨礙你使用其它的操作系統進行編碼和測試。比如使用跨平臺開發技術,如 Apache Cordova, React, Xamarin 等你完全可以使用 Windows 作為你的開發環境,使用自己喜歡的IDE,如: Visual Studio, Eclipse, IntelliJ甚至 Visual Studio Code, Sublime等進行編碼開發,只是在***需要打包成ipa的時候你還是需要一臺macOS才能完成。所以,我們今天就按照最典型的原生應用的開發方式,看看如何使用VSTS/TFS來搭建持續集成環境。

另外,在后續的文章里,我還給大家介紹如何使用VSTS/TFS將打包好的iOS應用直接發布到 Apple Store上。

#1 創建項目或者獲取項目代碼

為了演示方便我在github上放置了代碼

https://github.com/ups216/FoodTracker

打開Xcode 獲取代碼

#2 在TFS中創建 git repo并添加到項目的remote地址中

從新建的repo上獲取地址

在XCode中添加remote

然后push代碼到tfs中

#3 從github下載vsts-agent并鏈接到我們的tfs項目

下載地址: https://github.com/Microsoft/vsts-agent/releases

并按照以上頁面中的說明進行安裝

  1. ~/$ mkdir myagent && cd myagent 
  2. ~/myagent$ tar xzf ~/Downloads/vsts-agent-osx.10.11-x64-2.107.0.tar.gz 

安裝完成后,運行config.sh配置代理

這里需要填寫2個關鍵參數,一個是服務器地址,另外一個是agent pool(構建代理池)的名稱

構建代理池可以在tfs的后臺配置頁面中進行配置,記得要把運行代理的帳戶添加到代理池的服務帳戶中

現在我們就可以運行 run.sh 來啟動我們的構建代理了

#4 創建持續集成定義

在TFS的生成頁面中點擊新建按鈕,并選擇 Xcode 構建模版

在選擇存儲庫頁面中選擇我們剛剛推送過代碼的FoodTracker存儲庫,并勾選“持續集成”選項,這樣每次我們推送代碼到這個存儲庫就會自動觸發生成。

創建完成后,我們首先切換到“變量”頁面中配置以下參數

注意這里的***一個參數 P12_PWD,這里我使用了一個加密的變量保存了我的開發者賬號P12證書的秘密,這樣我就不必將開發者證書分發給所有需要的開發人員,而只在服務器上保留這個證書。這對于使用企業證書進行開發的團隊尤其有用,避免了企業證書的外泄。

完成后我們進入“生成”頁面,對XCode構建任務進行配置,注意以下我在certificate這個代碼目錄中保存了從XCode或者蘋果開發者中心導出的 Provision Profile 和 P12證書文件,但是證書的密碼這一欄填入了以上配置的參數 $(P12_PWD)。這樣,我們就可以在CI的過程中完成 ipa 的簽名操作了。

#5 運行生成

你可以在Xcode修改代碼并推送到 TFS,這時構建代理將被自動觸發運行,或者也可以手動運行。

運行成功后,可以在構建頁面中點擊“項目”即可下載編譯打包好的ipa文件

 

簡單總結一下,使用VSTS/TFS我們不僅僅可以管理Windows環境上的項目開發,也可以很好的管理 macOS 和 Linux上的開發過程。新版的TFS中內置了很多針對跨平臺開發的構建任務,而且這些任務的源代碼都是開源的,這樣我們可以對不同平臺的開發團隊進行統一的管理,并進行統一的代碼質量度量。

對于iOS開發來說,開發者證書的管理是很多稍具規模的團隊都很頭疼的事情,如果不把證書分發給每個開發者,就無法打包,但是分發了證書就意味著任何獲取了證書的開發者都可以使用企業的證書分發應用。使用集中的CI來完成證書簽名操作就很好的解決了這個問題。

【本文為51CTO專欄作者“徐磊”的原創稿件,轉載請通過作者微信公眾號devopshub獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2017-02-14 20:15:15

docker容器持續交付

2017-03-02 15:40:12

iOSAndroidJenkins

2017-03-01 10:34:12

2009-06-14 18:05:58

ibmdwWebSphere

2011-09-15 09:21:46

持續集成

2023-03-19 11:47:57

Taro小程序持續集

2016-08-05 17:19:37

持續集成持續交付系統運維

2017-02-27 18:35:23

集成交付部署

2021-09-03 11:33:38

Jenkins 微服務集成

2012-07-04 15:05:14

ibmdw

2021-03-31 09:00:00

管道集成工具

2017-10-19 09:47:55

容器化微服務集成

2015-09-24 09:43:08

阮一峰持續集成

2015-07-27 11:32:24

Docker持續集成Docker部署

2015-09-29 10:08:26

DockerJava持續集成

2012-02-23 10:22:03

JavaTeamCity

2018-01-08 14:18:14

代碼互聯網持續集成

2019-04-18 10:35:30

持續集成工具Buddy

2023-02-20 08:02:38

智能自動化交付

2020-06-23 10:41:08

云計算DevOps持續集成
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久激情 | 放个毛片看看 | 欧美v片| 九一国产精品 | 亚洲网在线 | 国产精品久久久久久久久久久久 | 国产精品久久久久久久久婷婷 | 在线视频成人 | 亚洲人在线| 99久久久国产精品 | 国产精品久久亚洲 | 亚洲精品久久 | 色综合色综合 | 99久久精品视频免费 | 91精品国产色综合久久不卡98口 | 久久曰视频 | 夜夜干夜夜操 | av网站在线播放 | 亚州国产 | 欧美日韩在线观看视频 | 国内久久| 一区二区三区精品视频 | 午夜在线免费观看 | 欧美成人精品在线 | 久久精品一区二区 | 亚洲国产一区视频 | 欧美日韩国产精品一区二区 | 男人天堂网址 | 91精品在线看 | 国产午夜精品视频 | 在线中文字幕av | 免费看黄视频网站 | 久草福利| 在线婷婷 | 伊人中文网| 日韩在线视频播放 | 黄色欧美在线 | 国产美女特级嫩嫩嫩bbb片 | 日韩中文字幕在线不卡 | 一区二区三区中文 | 亚洲成人精 |