Mac jenkins的安装与使用

持续集成与jenkins

持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。
Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。

0x01 Jenkins的安装

1.安装方式

1. 源码

直接在前往官网下载安装即可

2. homebrew

  • 首先安装brew,可直接在Terminal中执行
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装brew

  • brew安装完成之后继续执行
brew install jenkins

准备工作就此完成

2. 配置自动启动

* 配置launchd文件

ln -sfv /usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents

pilst文件的详细说明可以在官网找到详细说明。

注意:如果需要在内网其他设备访问,需要将--httpListenAddress=127.0.0.1这行删除

* 启动Jenkins

终端运行

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist

启动jenkins
现在就可以通过localhost:8080访问jenkins

3. Xcode偏好设置添加开发者账号

0x02 创建工程

1. 点击新建

Mac jenkins的安装与使用_第1张图片

2. 创建一个自由风格的软件

Mac jenkins的安装与使用_第2张图片
14979464589747

3. 源码管理我这里选择git

Mac jenkins的安装与使用_第3张图片
14979465324871

注意: 如果 Credentials报错,请确认有权限访问git项目。Branch Specifier (blank for 'any')可指定构建分支,可修改。源码库浏览器选择自动就好

如果项目含有submodules,点击Additional Behaviours添加一个Advanced sub-modules behaviours,勾选Recursively update submodules

Mac jenkins的安装与使用_第4张图片

4. 构建触发器

这里我选择Poll SCM

Mac jenkins的安装与使用_第5张图片
14979468837357

这里我选择每隔2分钟检测一次git版本是否有更新,如果有更新则开始集成。参数解释可点击jenkins问号。

5. 添加构建步骤

1. 点击添加构建步骤,选择Xcode

Mac jenkins的安装与使用_第6张图片
14979478444688

如果没有Xcode选项,请前往系统管理->管理插件->可选插件,搜索Xcode并安装。

2. 设置工程

Mac jenkins的安装与使用_第7张图片
14979477283037

Target是工程的名字,Configuration可是这为ReleaseDebug,这里由于是开发包,所以我选择Debug

3. 自动生成ipa

Mac jenkins的安装与使用_第8张图片
14979478833833

4. 解锁Keychain

Mac jenkins的安装与使用_第9张图片
14979479484489

Keychain path 填写${HOME}/Library/Keychains/login.keychain,密码是你设置的密码。

5. 高级设置

Mac jenkins的安装与使用_第10张图片
14979480943857

如果使用了*.xcworkspace需要填写Xcode Workspace File,反之不需要要填。

6. 点击保存

0x03 开始集成

项目进入详情页,点击立即构建即可开始集成

0x04 常见错误

1. FATAL: No global development team or local team ID was configured.

前往配置->Code signing & OS X keychain options,在Development Team ID输入Team ID

可在Keychain找到开发者证书 iPhone Distribution: **** (329***),括号内的就是Team ID

2. xcodebuild: error: The workspace named "Demo" does not contain a scheme named "Demo". The "-list" option can be used to find the names of the schemes in the workspace.

使用Xcode打开需要构建的工程一次即可。(部分Schemes不是共享的,使用Xcode打开一次可自动生成Schemes

3. `The following build commands failed:

PhaseScriptExecution [CP]\ Check\ Pods\ Manifest.lock ~/Library/Developer/Xcode/DerivedData/Demo-gkdfdjvhexwyaxdihkolvjuorxbo/Build/Intermediates/ArchiveIntermediates/Demo/IntermediateBuildFilesPath/Demo.build/Release-iphoneos/Demo.build/Script-7D2AC29159F170198B856782.sh`

添加一个构建步骤Execute bash, 内容如下

#!/bin/bash -l
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
pod install --verbose --no-repo-update

并拖拽到Xcode构建的前面

Mac jenkins的安装与使用_第11张图片
14979491069597

4. xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

在终端运行

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

5. 无法正常打包

在终端输入

open ~/.jenkins/workspace/

使用Xcode打开工程并Archive,查看错误原因。

你可能感兴趣的:(Mac jenkins的安装与使用)