安装Jenkins
brew install jenkins
问题: @@HOMEBREW_JAVA@@/bin/java 找不到此目录?
解决方案:
HOMEBREW_BOTTLE_DOMAIN= brew install jenkins原因:Installing Java-dependent formulae from bottle mirrors doesn't work properly at the moment. The issue is that brew needs the manifest in order to correctly replace @@HOMEBREW_JAVA@@ but brew only knows how to fetch manifests from ghcr.io.
brew services start jenkins
brew services restart jenkins
brew services stop jenkins
配置jenkins
在浏览器中请求 http://localhost:8080。
输入密码。密码在 ~/.jenkins/secrets/initialAdminPassword 文件中。
安装推荐的插件。
创建管理员。
进入网站。
局域网其他电脑访问Jenkins服务需要将 ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist 及 /opt/homebrew/Cellar/jenkins/2.303.2/homebrew.mxcl.jenkins-lts.plist 两文件中ProgramArguments-httpListenAddress改为0.0.0.0
配置Manage Jenkins - System - Xcode Builder
填写xcode配置 - Apple Development Teams。此处可在项目里面配置
- Development Team:开发团队
- Development Team ID:开发团队ID
安装Manage Jenkins - Plugins - Xcode integration插件
安装Manage Jenkins - Plugins - thinBackup节点迁移插件
迁移节点
- 使用thinBackup插件迁移job到新节点
- 迁移shell脚本到新节点
- 迁移~/.private_keys/xx.p8到新节点~/目录
构建一个自由风格的软件项目
进入首页,+新建item,选择自由风格项目
1、源码管理
从git服务器拉取源码
- Repository URL:git仓库地址
- Credentials:git仓库凭证,即git账号及密码
- Branches:指定要拉取的git分支
2、构建-执行shell
修改源码,例如拉取指定的pod仓库、修改app的名称及版本号等
3、General build settings
配置开发账号,xcode根据开发账号可自动选择合适的开发证书(开发证书在)
- Development Team:开发团队
- Development Team ID:开发团队ID
4、Advanced Xcode build options
当工程代码在子目录里面、或使用pod管理代码、或git仓库包含多个工程等情况需要配置此项
- Xcode Project Directory:项目所在目录
- Xcode Workspace File:workspace文件名
- Custom xcodebuild arguments:-destination 'generic/platform=iOS'(m1芯片电脑打包必填)
5、General build settings - 其他
指定编译的其他选项
- Xcode Schema File:schema名称,使用workspace管理项目必须指定schema
- Configuration:指定配置选项,包括Release、Debug等
- Generate Archive:配置打包选项
- Export method:打包类型,包括'development', 'ad-hoc', 'enterprise' or 'app-store'.
- ipa filename pattern:指定ipa名称
- Upload Symbols?: 上传符号选中
6、Code signing & OS X keychain options
签名选项
- Automatic Signing:已配置开发账号,xcode可自动查找可用的开发证书、profile文件
7、构建-执行shell
此处可以执行编译后的脚本,例如上传ipa到appstore等。
注意:使用xctoole上传app需要将appstoreconnect后台申请的xx.p8放入~/.private_keys目录
cli方式使用Jenkins
需下载jenkins cli: wget http://localhost:8080/jnlpJars/jenkins-cli.jar
需使用apitoken,路径:个人账号 - 设置 - apitoken
1、拷贝job
导入job
java -jar jenkins-cli.jar -s http://目标:8080 -auth 用户:ApiToken create-job jobname < jobname.xml
导出job
java -jar jenkins-cli.jar -s http://localhost:8080/ -auth 用户:ApiToken get-job jobname > jobname.xml
2、构建job
构建项目
java -jar jenkins-cli.jar -s http://localhost:8080/ -auth 用户:ApiToken -webSocket build jobname -s -v
停止构建项目
java -jar jenkins-cli.jar -s http://localhost:8080/ -auth 用户:ApiToken -webSocket stop-builds jobname
新任务集成
infer集成
安装插件 Warnings Next Generation Plugin
配置任务
- 执行检测脚本
- 解析检测结果:Record compiler warnings and static analysis results - PMD - xx/infer-out/report.xml