ios jenkins配置_iOS使用Jenkins实现自动化打包

序言. Q9 Q1 m3 O: A

D& b' t; z) R

在开发大型项目的过程中,会涉及到多位开发人员以及测试人员。如果每次都让开发手动打包,不仅会在沟通上耗费巨大成本,打包本身也会耗费大量时间,造成没必要的资源浪费。而使用自动化打包方案,就可以省去沟通成本,在开发上传代码后,自动触发远程服务器打包,测试人员只需要等待该服务器自动打包完成,进行下载测试即可。这一套工作流程可以省去大量时间,提高工作效率。

7 [5 f9 ?* [7 n, x6 H) G; y6 `环境配置/ s& N% z- P! k) Z1 O2 }

: ~/ y9 n( c9 s8 j: c

业界常用的自动化打包方案便是使用Jenkins。

+ ^# m6 S* M& g& f7 P) w6 j安装JDK5 z' j; O0 E5 A* D9 R, i, U/ P

0 r3 q/ _: b2 ?- T( @) |

进入JDK下载地址,下载JDK安装包,注意版本号,选择Java SE 8。

& Y7 P! {7 ^' G8 n- c$ x$ b$ D, Z* z. W, g8 G. l

" v$ j# d$ `% s4 w6 b8 K; g

# r1 E( ?8 e* i2 d* r) Z可以输入以下命令检查状态

6 L" {& E9 D5 h% U$ jjava -version

安装Jenkins9 b- z7 d* Y% _4 j$ F- o( l( f

. [5 u6 f2 F! v; e2 S7 y

进入Jenkins下载地址,下载Jenkins安装包。

" S- n! Y2 T6 v  p+ o% W' w/ h

依照图示步骤进行安装! |% k- ^0 I6 F( ?

安装插件

' B- ^$ [9 L$ {: S$ m

+ q' a. Q+ {1 @% _/ I点击Manage Jenkins 中的Manage Plugins,选择Keychains and Provisioning Profiles Management(负责管理Keychains和证书)、Xcode integration(负责Xcode构建)和Email Extension Template(负责邮件通知)。) R4 T& F$ `* f5 V

6 v8 F7 [4 L! G) z  N6 u+ l; ~0 ^

配置Jenkins,关闭跨站点请求伪造

. {* Y& R& Z4 V0 K; q$ G3 e) o

7 ]9 m% u* c) W1 t3 \为了能让Github通知到Jenkins服务器,必须要关闭此项,此项会屏蔽任何的远程API形式的访问。1 E2 o! X+ x1 t9 b7 x! D0 D! _

进入Jenkins,点击Manage Jenkins里的Configure Global Security。

. P& N3 ~1 ^  S1 X, V8 D! g6 e/ K- ^8 D" Y0 E2 z9 [

" }! y  C! K: E, v1 |

找到跨站请求伪造保护,取消选中。

( B5 ^' h0 Y$ y4 O/ v+ o: k' u/ e$ R1 v. |$ E; p

配置GitHub通知地址: B2 A% b3 @  O. g% m) z6 \

, _6 u; A3 I, x$ I! a. f+ s: ?7 w

进入Github中的项目,点击Settings里的Webhooks,添加webhook,将安装了Jenkins的服务器的地址填入,这样每次项目推送代码后就可以往Jenkins所在的服务器发送通知。

0 j/ k1 n7 Z2 i' F+ u5 V

地址为

% o, I5 w! R' j【Jenkins服务器地址】/github-webhook/

配置Jenkins访问Github的Access Token

; p+ r/ n7 c0 n: U& D" u5 ~# V5 ]9 z; e4 t3 Z9 M/ [: K! h3 }# _

Jenkins想要访问Github上的项目,必须要配置access token。首先打开Github上个人账号的Settings,点击DeveloperSettings,选中Personal access tokens,点击Generate new token。

i( n% S/ ~) G1 I5 B# X

在Note处填写描述,勾上repo和admin:repo_hook两项。$ J, g8 m' c; @7 b) o6 {. f/ J

1 L7 V% ?9 L1 I$ x0 _" O+ l

将生成的Token保存在合适的地方,一会会用上。; M" ~7 C3 U( Q) P( H

$ `/ d- y8 Y1 J+ {# x' K  m& U

进入Jenkins,点击Manage Jenkins中的Configure System

- s9 U/ S8 v: w3 \! e" Y6 y0 H2 k. b7 g, U' p2 g2 {$ M' W

p4 M0 \8 X( C; k3 [7 ~; f9 a添加Github服务器K4 g% @- W% b1 X; t8 d' V. M

, z( _: [; A( w4 Y- N

" c4 M: e% H% Q0 B8 O! K$ V

添加凭据,选择为secret text类型,将Access Token填入。" h3 u) t2 o8 k# Q$ e; V

5 J% I& m: i, V, E2 k/ x! M9 I添加后,选中该凭据,点击右侧的测试按钮,如果成功则会显示“Credential verified”。

z+ U+ ]) h; c& k

$ _0 @  A& E/ n  }  Y

添加KeyChains和Provisioning Profile4 O. [- m* @0 _( \4 \

8 e8 [5 e- `) J1 K$ f& y& V* A选择Manage Jenkins中的Keychains and Provisioning Profile Management,如图( o. B+ P! H3 S1 Y2 W

% Y; i1 W$ j! \

2 V+ k' \1 R% U: i. v8 `# T

上传keychains文件和Provisioning Profiles文件,文件路径如下

; o+ @# n* G( H$ x. o~/Library/Keychains/login.keychains~/Library/MobileDevice/Provisioning Profiles/【Provisional Profile文件】code signing identify填写钥匙串中对应的项目所用到的provisioning profiles的名字6 P+ i, ~) R9 [. J

创建任务% C; r3 w; M$ f

* g: o  h9 L1 Z9 a  T0 L* x新建一个自由项目的任务

- T* m" }  P' e) x& @# w. i

" m, E+ s7 x4 J$ d# r$ l' i

配置Git& X( |7 I2 B4 D* @7 \' p% R2 n

. ]5 Z0 F; Q% k) h" c% _

6 B6 b, i1 t. x# E0 q  y* m5 x; G勾选触发器,此项代表追踪Git源码变更* w8 M* p3 [8 n  s

7 D* n% L; t1 G. C: m; v. F

( t5 X4 `+ {8 j2 B

构建环境勾上Keychains and Code Signing Identities和Mobile Provisioning Profiles% P3 F. ~- u& q. N+ i5 M3 b

配置构建步骤8 }7 x; j" K6 b, A, n

选择xcode构建方式8 P5 a; K( G1 r; |9 n+ [0 E

( }/ @1 Z/ z  t9 `

: z+ b! h5 g+ n1 q8 Z

打开General build settings中的Settings

$ [1 o& a) n$ q9 h6 C, p! c; v" y/ V: f! l; U* O

( U4 {* M, q5 ]- O: [) ]填写Configuration和Xcode Schema File。0 g( y9 q1 w+ g

填写ipa的一些设置- }: u" W2 V, i" Q  q4 n; K

, I' Z3 t6 {0 a+ g2 H" t9 L

9 l* D, ^# C) G5 \打开Advanced Xcode build options

! u/ L% L8 o. W- K4 }/ Z2 g" x. b. m( }8 c5 {9 s

配置构建后步骤

/ @  ^6 [5 b) I, {* s! N选中Archive the artifacts和Editable Email Notification。这两步作用分别是在jenkins上生成ipa包下载连接,以及使用E-mail通知。

( K% k* {1 @+ H# c/ v7 a& z: q' e4 v+ P* ~  I& Z

8 |! O& ^$ r5 q7 N* K

/ k: _  _0 y5 ^1 S

N3 S0 P9 R% e设置邮件触发器为每次构建成功就往Recipient List中的邮箱地址发送邮件。' i0 d4 A. q# F1 ~. r3 H2 I

1 x9 A4 P$ b/ c; F4 n: d

配置邮件设置

' f: K$ G" q4 W! P- |进入Manage Jenkins中的Configure System,配置JenkinsURL和系统管理员邮件地址5 H2 w' P" H8 }( `

* |/ ]' `( C1 b1 D* ~* A" I

设置为每次成功构建就发邮件。% I! ^0 I  ^8 s, F

结果验证5 ~2 i/ n& v: V

4 Q/ F, @$ F$ }

往github上的项目push一次代码,验证结果。

P( v* S5 w2 q4 }- n5 ^可以在Jenkins对应项目中的GitHub Hook Log中看到,监测到18:54分的代码推送,自动触发了#27的打包。" B9 A% X7 H% T

: Z' H1 k; o7 k1 i4 w% u+ \

; w  V# x7 d2 _" h+ \, y, N- n构建完成后,邮箱也收到了通知,并且附上了网址。

: R! ]; t  [+ J, k- y% j

2 s  C; D8 ?* n3 f/ C; t6 N

m4 [$ b3 L% q9 Z7 A7 X* b! c! N6 g8 [进入该网址,可以看到构建好的#27的BlogSample项目的ipa包,并且也将commit信息附在了上面。0 x; m$ q- t' G) S2 }3 K# }

总结* \2 n' T* K! p) n/ b

- X, G9 D8 U7 x! G* A" k- c通过这样一套流程,每当程序员将代码推送到指定分支的时候,就可以触发Jenkins的自动打包,当打包完成后,将会发送邮件给测试人员,测试人员就可以通过链接访问Jenkins上对应的构建包,进行测试,省去了很多不必要的沟通成本,从而提高开发效率。{/ [& o1 [: [+ u5 d

4 |6 ?( s0 J/ L! m! _) L9 Z; b$ z- a

Java吧 收集整理 java8论坛 www.java8.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值