[Jenkins]IOS构建机配置记录
-------------------
如需转载,请注明出处
-------------------
随着业务量和开发人员的递增,IOS构建每天都会排队,影响研发效率。随购买了新的垃圾桶,进行配置。
一、 Mac远程管理
设置-节能,设置成以下状态,确保垃圾桶放入机房后,能随时远程调试。

二、打开共享
选中“远程管理”和“远程登录”,允许访问处设置特定用户(比如有权限登录这台机器的账户)。

三、Git环境配置
默认自带git,只需要生成SSH Key,并添加到gitlab的SSH key下即可。
1. git自带的帮助文档已经写明了如何生成。

命令如下:一路回车即可。
localhost:~ qa$ ssh-keygen -t rsa -C "feedback@xxx.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/qa/.ssh/id_rsa):
Created directory '/Users/qa/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/qa/.ssh/id_rsa.
Your public key has been saved in /Users/qa/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Gi1bWwlpr2hr2MBKCnD0FjW+Y4+iHMHSzbeLQ1gmHTY feedback@xxx.com
The key's randomart image is:
+---[RSA 2048]----+
| .o |
| . E. . . |
| . + +. + |
|.ooo* + o . |
|o.+Bo B S + |
|..o.+o % + |
|.o.o.+B + |
|...oo+oo |
| o .oo |
+----[SHA256]-----+
2. 进入ssh文件夹,复制公钥到gitlab
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxLc+8YucHmXMuVYSh2pG7EYOTZaAidLlsWql9yv1QTXIpG6gcFlFT95iYZjsZBH678mN66xgu+Oz1MV+RCrO1XqV4/rLcjgGCmmPGPINIPy/+s5oJD5qfyQprJMniiiLiv13SaOY1GmsOfN2IXHABQNK+qAxdPAp2rnY7rg8IWrltNfG6qdeL/Emlpg9hZwJ6nQZj2kU4Vbqd0xzzXuUgBRd+amDhgta5VtRYtpUqilQISjTbC1xIBOoMtrlkpEl+9YKbc0JNjPzL7iJjrpZb2Z4LB4fZW+nb feedback@xxxx.com
添加到这里

3. clone gitlab里的项目,第一次需添加到key fingerprint到known hosts里。
localhost: qa$ git clone git@git.xxx.com:ios/xxx-ios.git
Cloning into 'xxx-ios'...
The authenticity of host 'git.xxx.com (10.10.130.xx)' can't be established.
ECDSA key fingerprint is SHA256:Vc52E7NVq6CODfO8mVMtNhv7Tkv86LZ86666666.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'git.xxxx.com,10.10.130.xx' (ECDSA) to the list of known hosts.
remote: Counting objects: , done.
remote: Compressing objects: % (/), done.
remote: Total (delta ), reused (delta )
Receiving objects: % (/), 926.49 MiB | 731.00 KiB/s, done.
Resolving deltas: % (/), done.
Checking out files: % (/), done.
格式如下:
localhost:~ qa$ cat ~/.ssh/known_hosts
git.xxxxx.com,10.10.130.xx ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGZgdcSEtfhdP83mlq1WOUlByl5zT4Mxn2SrH/EydDTO32reFKwUgAVOnHC0qVXIpp1Cup//lalalalal
四、安装Xcode
1. 可通过Apple store安装最新版xcode。
若需要老版本xcode可登录http://developer.apple.com/download/more进行下载。
比方说,我需要下载xcode9.2。

2. 安装完成后Enable 开发者模式

3. 登录账号
Xcode - Preferences -Account 登录账号
4. 从其他构建机器导出证书并安装
因为证书是从官网申请的唯一证书,若在此机器上生成新的证书,将无法进行构建

安装

再次构建后,成功,cheers~
[Jenkins]IOS构建机配置记录的更多相关文章
- jenkins的构建项目配置
继http://www.cnblogs.com/yajing-zh/p/5109517.html搭建好jenkins系统配置之后,新建jenkins构建项目,用于自动化构建. 点击Jenkins界面左 ...
- Jenkins之构建触发器配置(转载)
构建触发器配置,当你在文本框中输入配置的时间后,文本框下方会有时间解释,这样可以很好的看到自己配置的时间对不对. 可以清晰看到我的配置第一个运行时间是周五上午10点执行,第二次是星期六上午10点. ...
- elixir jenkins 集成构建方式配置
备注: 主要问题是环境变量配置的问题,解决方法是使用软连接进行解决 1. 下载软件包 wget https://github.com/elixir-lang/elixir/releases/ ...
- jenkins配置记录(2)--代码发布流程
在我们的日常运维工作中,使用jenkins来完成业务代码发版上线是至关重要的一环.前面已经提到在jenkins上添加用户权限的操作,今天重点说下如何在jenkins下构建项目工程进行代码发布? 在此简 ...
- Jenkins操作学习 --邮箱配置及测试结果构建
前言 使用jenkins做持续集成工具,构建的整个过程中,肯定要对结果进行记录和跟踪,这里我们以qq邮箱为例,来讲解如何配置jenkins的邮箱及发送构建结果 一.明确邮箱服务器相关信息 这里我们,要 ...
- 友盟iOS推送配置(从真机调试到推送)
下面我来讲解一下友盟iOS的推送配置,其实友盟只是一个示例,换做其余的第三方推送服务也会适用,只是第三方的后面服务变了而已. iOS推送(包括真机调试)所需要的步骤和文件如下: 备注:这里我将省略掉一 ...
- Jenkins自动化构建配置
写在前头 我每次修改代码一点东西,都要进行一个重新发布.重新发布的流程大概如下: 将最新代码同步上传到git上面 Maven打包 mvn clean install 将最新的jar包上传到服务器上面, ...
- 六、配置github的pull request触发jenkins自动构建
之前的配置,都是向master分支push操作触发jenkins进行构建,但是在一般的正常工作中,不会允许程序员直接向主分支推送代码:正常都是fork一个本地的分支,在本地分支调试完后,向主干分支提交 ...
- 五、配置jenkins定时构建或上游job触发构建
我们之前说的都是通过检测github是否有push动作,即代码是否有更新,一旦检测到push动作就出发jenkins构建: 但是除了这种方式,我们可能还会需要定时进行构建,比如在每天的凌晨1:00构建 ...
随机推荐
- 编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。
function fn(n){ if(n<2 || n>32) { return; } if(!n) { return;} //判断n是否为数字 if(!/^[0-9]+.?[0-9 ...
- 55行代码实现Java线程死锁
死锁是Java多线程的重要概念之一,也经常出现在各大公司的笔试面试之中.那么如何创造出一个简单的死锁情况?请看代码: class Test implements Runnable { boolean ...
- python3 利用pip命令安装包和模块
本文介绍如何利用pip命令安装Python相关的包和模块.在Python中有些方法或者模块是自带的功能,也叫(build-in),内构函数,实际使用,可能内构函数或者模块不能完成我们的任务,我们就需要 ...
- 20155312 张竞予 Exp 8 Web基础
Exp 8 Web基础 目录 基础问题回答 (1)什么是表单 (2)浏览器可以解析运行什么语言. (3)WebServer支持哪些动态语言 实践过程记录 1.Web前端:HTML 2.Web前端jav ...
- 20155312 张竞予 Exp3 免杀原理与实践
Exp3 免杀原理与实践 目录 基础问题回答 (1)杀软是如何检测出恶意代码的? (2)免杀是做什么? (3)免杀的基本方法有哪些? 实验总结与体会 实践过程记录 正确使用msf编码器,msfveno ...
- DML&&DQL
数据操纵语言DML(Data Manipulation Language) insert update delete 查询条件用where DQL:select查询语句
- Note | 常用指令和教程
目录 Ubuntu操作系统 基础操作 SSH-ubuntu 登录退出 设置SSH秘钥以免密登录 设置别名以免IP登录 传输文件 设置短密码 驱动问题(循环自登陆,分辨率异常) boot空间不足 Win ...
- 下划线“_”在oracle中不是单纯的表示下划线的意思,而是表示匹配单一任何字符!
[解决办法]1.使用 escape() 函数escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号.例如 ...
- Leetcode_5.最长回文子串
最长回文子串 题目描述: 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab& ...
- Jupyter-NoteBook-你应该知道的N个小技巧
智能决策上手系列教程索引 不断更新部分内容来自于翻译整理 多行输出 在Notebook的中开头cell中添加以下代码可以实现多行输出: from IPython.core.interactiveshe ...