关于mac端如何配置jenkins打包iOS工程,已经被大家写的烂大街了,虽然烂大街,但是自己一直没有亲自上手从0-1配置过一次,毕竟一个项目组有一个人配置好就可以了.谁能想到原来的打包机主板坏掉了,果断上手在自己的电脑上搞一遍jenkins
jenkins安装
安装的话基本就是两种方式下载安装包和使用brew安装

两种安装方式按道理都可以,但是我下载安装包后安装出现一些问题,最后放弃了,直接使用 brew install jenkins-lts 安装,个人也是推荐这种方式安装
登录
命令行安装成功后 启动jenkins
启动jenkins: brew services start jenkins
停止jenkins:brew services stop jenkins
重启Jenkins:brew services restart jenkins
此时可使用 http://localhost:8080 访问jenkins 创建管理员账号等 初始密码 进入\Jenkins\secrets目录,打开initialAdminPassword文件复制出密码即可
安装jenkins推荐通用的插件 接下来是漫长的等待
设置局域网本地ip访问
1.修改本地hosts文件 localhost 指向本地IP地址
2.系统管理-系统配置 Jenkins Location设置 jenkinsUrl为 本地IP
3.修改 jenkins.model.JenkinsLocationConfiguration.xml 内部地址为本地ip
通用设置

源码管理设置
Repository URL 源码地址
Credentials 用户名和密码 用于获取源码
Branches to build 打包分支

构建触发器
设置定时构建

构建
1.构建前需要先拉取代码,现在多数项目都是组件形式或是使用了pod集成三方库,打包前需要拉取个组件的代码
#!/bin/bash -ilex
cd 项目路径
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
pod repo update
pod update --verbose --no-repo-update
2.更新build版本号 一般是用时间作为版本号
#!/bin/bash -il
export LC_ALL=en_US.UTF-8
source ~/.bashrc
# 版本号自增
PlistDir="plist文件地址"
BuildVersion=$(/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" "${PlistDir}")
echo ${BuildVersion}
BuildNumber=`date +%Y%m%d%H%M`
echo ${BuildNumber}
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${BuildNumber}" "${PlistDir}"
3.Xcode构建操作





4.若是使用友盟统计 可使用上传dsym脚本 具体脚本参考官网
发送构建邮件
系统管理-系统设置 看是否有Extended E-mail Notification 没有的话去插件管理下载
根据实际情况设置SMTP server、Default user e-mail suffix、SMTP Username、SMTP Password(密码为授权码,切记)、勾选Use SSL
default content内容,同时可在内容中添加自己需要展示的信息,比如下载地址或是下载二维码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
本邮件由系统自动发出,无需回复!<br/>
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br>
<td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">构建信息</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称 : ${PROJECT_NAME}</li>
<li>构建编号 : 第${BUILD_NUMBER}次构建</li>
<li>触发原因: ${CAUSE}</li>
<li>构建状态: ${BUILD_STATUS}</li>
<li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>构建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
</ul>
<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>
<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
</td>
</tr>
</table>
</body>
</html>
点击default triggers 选中 always、failure any、success
邮件通知

构建后操作添加 editable email notification
project from 填写管理员邮箱
project recipient list 为收件人邮箱合集 用空格隔开
点击 advanced settings 设置 之前系统设置中的always等选项
发布到 firim
链接: https://pan.baidu.com/s/1jJntT577vwwvWv1WPo5CTA
提取码: 7jpt
上传插件到jenkins

网友评论