Mac Jenkins搭建 Android/IOS自动打包环境
如何在mac上利用Jenkins搭建 Android/IOS自动打包环境呢?
设置静态IP
打开”System Preferences…”,设置静态ip。
设置Terminal
在”Utilities”中找到Terminal,点击”Terminal”。
右击Terminal图标,选择”Options” -> “Keep in Dock”,使之固定在Dock上。
点击菜单栏中的”Terminal” -> “Preferences…”,打开Terminal偏好设置。
JDK环境
Jenkins
Jenkins官网 https://jenkins.io ,选择mac版下载安装。打开浏览器,输入http://localhost:8080就可以访问jenkins了。
重启Jenkins命令:
sudo launchctl unload -w /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist
Jenkins插件安装
选中”Git Plugin”、”GitHub Plugin”、”Xcode integration”、”Gradle plugin”等插件,点击”Download now and install after restart”。
选中后,系统安装。
Jenkins安全配置
点击”Manage Jenkins” -> “Configure Global Security”。
选中”Enable security” Security Realm: “Jenkins own user database” Authorization: “Project-based Martix Authorization Strategy” 添加admin用户,赋予所有权限。 匿名用户,赋予只读权限。 点击”Save”
配置用户。
安全失效的方法
修改Jenkins的config.xml,将useSecurity节点值改成false。例如: sudo vim /Users/Shared/Jenkins/Home/config.xml
<useSecurity>false</useSecurity>
或者删除config.xml文件和users整个文件夹。
sudo rm /Users/Shared/Jenkins/Home/config.xml
sudo rm -r /Users/Shared/Jenkins/Home/users
Android环境配置
安装Android环境这里不再讲解,不懂得可以度娘。
使用第三方主题
系统提供的两种主题可能都不太好看,我们可以进入网站http://www.ideacolorthemes.org/home/来获取第三方主题,比如说Sublime主题就是我个人喜爱的。 点击下载,下载下来之后,是一个jar包(Monokai Sublime Text 3.jar)。
打开Android Studio,点击右下角的”Configure” -> “Import Settings”,导入主题包。
重启后生效。
Xcode环境配置
安装xcode环境并新建项目。这里不做讲解。
ios发布流程
首先要有一个苹果开发者账号,没有的话,上官网申请,官网页面 https://developer.apple.com/programs
申请证书 首先在MAC上生成钥匙串的配置文件。点击”Launchpad” ,然后打开”Keychain Access”。
点击”Keychain Access” -> “Certificate Assistant” -> “Request a Certificate From a Certificate Authority…”
如果想通过邮件接收证书,则需要填写邮箱,两个邮箱填写一样就行,选择”Emailed to the CA”,即可通过电子邮件收到钥匙串配置文件。 这里就用最简单粗暴的方式来获得钥匙串配置文件,直接通过”Saved to disk”,上面的邮箱就可以随便填写了(是必填项,但不需要通过邮箱获得,所以随便填写就好)。 点击”Continue”。
重新登录到苹果开发者官网,点击Certificates栏的”All”,然后点击右上角的+号。
选择证书类型。
选择”App Store and Ad Hoc”
将生成好的证书下载到本地。
双击该证书,将其添加到”system” keychain。
截止到目前为止,我们已经完成了对当前电脑授权,允许当前电脑进行真机开发(Tips:即钥匙串已经安装了授权证书,如果是用的其他电脑的钥匙串配置文件,则需要把下载下来的cer文件,给对应电脑,并在对应电脑上双击)。
为应用签名 点击Identifiers栏的”App IDs”,然后点击右上角的+号。
将苹果设备连接到iTunes,点击”摘要”显示设备信息,右击复制”UDID”的值,就可以使用真机调试了。
生成Provisioning Profile。 点击Provisioning Profile栏的”All”,然后点击右上角的+号。
选择配置文件类型,这里选择”App Store”,点击”Continue”。
填写Profile Name,点击”Continue”。
下载provision profile到本地。
设备Bundle ID和App ID一致 打开项目info.plist,修改Bundle identifier值与App ID匹配。
设置Xcode Code Sign Identifer,选择合适的Profile和证书进行签名,打包。点击”Xcode” -> “Preferences…”。
选中需要的Provisioning Profile,点击”Download”,之后会在~/Library/MobileDevice/Provisioning Profiles下多出一个XX.mobileprovision。 设置Code Signing证书及Provisioning Profile。
设备选择”Generic iOS Device”,点击”Product” -> “Archive”。
选择合适的开发者账号,点击”Choose”导出。
- .net core快速上手
- logicaldoc的外部认证——AD集成
- CLR 4.0 安全模型
- 应用工具 .NET Portability Analyzer 分析迁移dotnet core
- 使用无觅相关文章插件一定要删除的代码
- 管理混合云环境的5个要点
- Team Foundation Server 2010 – Basic Installation
- 富文本编辑器的一键排版功能
- 通过ProGet搭建一个内部的Nuget服务器
- Mercury Editor学习心得
- 无意禁止使用:英伟达官方回应GeForce软件条款更改
- Ext JS 6 新特性和工具
- 为你的WordPress 博客文章页面增加多彩排版条
- java: web应用中不经意的内存泄露
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- three.js 欧拉角和四元数
- three.js 制作逻辑转体游戏(上)
- three.js 制作魔方
- 安卓日常开发和逆向中常用的shell命令与非shell命令
- 使用python生成Latex公式语法
- 设计模式~桥梁模式
- 设计模式~模板方法模式
- three.js 郭先生制作太阳系
- 视频监控系统视频上云解决方案EasyCVR集成海康EHome私有协议系列——设备录像回看说明
- 视频监控系统视频上云解决方案EasyCVR集成海康EHome私有协议系列——报警模块说明
- three.js 制作一个三维的推箱子游戏
- IP摄像头RTSP协议网页无插件直播视频平台EasyNVR如何在直播或录像中添加定制化音频?
- three.js之初探骨骼动画
- three.js 自制骨骼动画(一)
- vue 人脸识别 demo