搭建Jenkins环境
安装jenkins(需要安装java环境)
从jenkins官网下载或者是从清华大学开源镜像网站进行下载下载地址
我自己安装的jenkins的包版本是jenkins-2.121.1.pkg
安装完成后,Safari可能会自动打开,如果没有自动打开,打开浏览器,输入http://localhost:8080
如果页面提示不能连接服务器的错误,重启电脑。然后再输入http://localhost:8080进入登录页面。
根据提示,找到/Users/Shared/Jenkins/Home/ 这个目录,找到secrets文件,显示简介,设置所有人都可以读与写的权限,并找到initialAdminPassword文件,同样放开权限,复制出密码,登录进去,一路安装过来,输入用户名、密码、邮件等。最后点击Save and Finish。
jenkins打包的相关插件
安装这几个插件,并且重启jenkins,下面是几个jenkins的相关东西
1、重启Jenkies
http://localhost:8080/restart
2、重新加载配置信息
http://localhost:8080/reload
证书管理插件
WechatIMG8.jpeg注 developer只是一个用于测试开发的证书,password 一定要填写正确的钥匙串的密码,Code Signing Identity 是从钥匙 找到相应的证书,然后显示简介复制来,这 Identities少要填两项,是因为这放个的话后的设置Code Signing Identity能动对应上。
/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles
移动复制相关文件
把需要的文件移动到对用目录下
一 、将/Users/用户名/Library的MobileDevice文件夹拷贝到/Users/Shared/Jenkins/Library下
注意:是将MobileDevice这个文件夹拷贝过去,而不是MobileDevice里的文件,/Users/Shared/Jenkins/Library 目录下是没有MobileDevice这个文件夹,所以先创建一个MobileDevice文件夹。
在终端输入
sudo mkdir /Users/Shared/Jenkins/Library/MobileDevice
sudo cp -r /Users/xxx/Library/MobileDevice/ /Users/Shared/Jenkins/Library/MobileDevice/
如果没有mobileDevice这个文件夹,应该就是没有安装xcode
二 、将/Users/用户名/Library/Keychains/下的login.keychain及login.keychain-db这两个文件拷贝到/Users/Shared/Jenkins/Library/Keychains文件夹下面
注意:Mac OS 10.12以下的没有login.keychain-db这个文件,只需要拷贝login.keychain文件。
在终端输入:
cd /Users/Shared/Jenkins/Library/
sudo mkdir Keychains
sudo cp /Users/xxx/Library/Keychains/login.keychain ./Keychains/
sudo cp /Users/xxx/Library/Keychains/login.keychain-db ./Keychains/
再将这个login.keychain拷贝到桌面上 如果没有login.keychain,请把login.keychain -db改为login.keychain
三 、 钥匙串权限、~/Library权限以及电脑用户管理权限
WechatIMG6.jpegWechatIMG7.jpeg点击显示简介,更改相关权限
四 、 找到Library资源库文件夹,设置共享与访问权限,everyone读与写都可以,并且应用于下层目录
开始构建项目
构建操作,起名字点击输入一个任务名称,选择构建一个自由风格
WechatIMG9.jpeggit拉取代码,并且把相关git相关上传到全局变量
WechatIMG13.jpegWechatIMG10.jpeg把这个东西作为全局变量复制到对应的地方
Keychains and Code Signing Identities
WechatIMG11.jpeg注意第一次选择,可能不会出现Code Signing Identity,这个时候,保存项目再退出来后再进去就是可以看到了
上传蒲公英的相关操作
WechatIMG12.jpegfastlane搭建
fastlane 介绍
fastlane 是一款为 iOS 和 Android 开发者提供的自动化构建工具,它可以帮助开发者将 App 打包、签名、测试、发布、信息整理、提交 App Store 等工作完整的连接起来,实现完全自动化的工作流,如果使用得当,可以显著的提高开发者的开发效率。
依赖环境:
Xcode7+
macOS or Linux with Ruby 2.0.0 +
安装fastlane
$ sudo gem install fastlane
如果报错:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/commander
使用: sudo gem install -n /usr/local/bin fastlane
cd到对应的目录,使用fastlane init 我选择的是4。目录的结构是
WechatIMG14.jpegfastlane的文件代码操作
注意:一定要安装执行下面的命令
fastlane add_plugin pgyer
[图片上传失败...(image-111f54-1531193590583)]
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
# https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
# https://docs.fastlane.tools/plugins/available-plugins
#
# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
default_platform(:ios)
# 定义fastlane版本号
fastlane_version “2.99.0”
# 定义打包平台
default_platform :ios
lane :beta do
gym(
#输出的ipa名称
output_name:”QKiOS_IPA”,
# 是否清空以前的编译信息 true:是
clean:true,
# 指定打包方式,Release 或者 Debug
configuration:"Debug",
# 指定打包所使用的输出方式,目前支持app-store, package, ad-hoc, enterprise, development
export_method:"development",
# 指定输出文件夹
output_directory:"./fastlane/build",
)
pgyer(api_key: "蒲公英的api_key", user_key: "蒲公英的user_key")
Jenkins的shell脚本
先执行pod操作,如果是使用cocoapod安装的话
#bin/bsah - l
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
cd $WORKSPACE/
echo ++++++++++++++++++
#/usr/local/bin/pod install
/usr/local/bin/pod update --verbose --no-repo-update
echo begin
echo ++++++++++++++++++
解锁keychain
#bin/security - l
/usr/bin/security unlock-keychain -p q1234 ~/Library/Keychains/login.keychain-db
fastlane 进行打包
#bin/bsah - l
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
cd $WORKSPACE/
pwd
PATH="/usr/local/bin:$PATH"
# 进行打包操作
/usr/local/bin/fastlane beta
打包成功的输出
WechatIMG15.jpeg WechatIMG16.jpeg集成的时候遇到的问题
- CodeSign 签名失败,执行解锁keychain的shell脚本
CodeSign /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/QKiOS-ceqftwbkurbqjxfyflrsrfuzezvs/Build/Intermediates.noindex/ArchiveIntermediates/QKiOS/InstallationBuildProductsLocation/Applications/QKiOS.app```
网友评论