macOS Jenkins 教程一:搭建,卸载,设置开机启动

官方文档: https://jenkins.io/zh/doc/pipeline/tour/getting-started/

Jenkins搭建流程

一:准备工作

安装Java8(官方说安装Java 的 JRE或者 JDK都可以 ),但经过尝试,安装JRE 8并不行,安装JDK,也必须是JDK 8,安装的高版本也不行
查询Java版本:~java -version

二:下载并运行

958E6BF2F2471680344B675E597A7D56.png

按照步骤进行下载并用命令进行安装,如果使用 8080 端口失败,可以改下端口

FC272A4BAC5E5D7F29AFC3AC7B051EB3.png

打开 http://localhost:8080 进入的页面需要输入密码,获取方式:

命令行:

sudo vim  /Users/zhirenyi/.jenkins/secrets/initialAdminPassword
FE7C138E64E0BDAD3B6C032ACF78F9C6.png

输入上面的密码,下一步

BF54EC96EE6CC7B1D59F8358E6E65933.png

选左边的即可,推荐安装的插件


C472A8F256246292E817FF43E39DE193.png

进入到自动下载插件的页面,等待完成进入下一步

0EB2B57B02C249422C91D85079E4B8C2.png

设置管理员页面,随便设置吧

6D0BE27FE2D710E67F3BC5002334846A.png

设置Jenkins的URL,这个可以后面在设置

Ok,下面进入到主界面。

三:项目配置

我们新建一个项目,选择自由风格

29BFD08E9AD6BFDF5A7513A899AB0314.png

进入项目设置页面,首先设置项目信息,其次,设置git

330C67B06B5ACEF8EC6DD69EB2E4E098.png

这里推荐使用ssh的方式认证,当然也可以使用账号和密码来认证。
设置ssh的方式, private key在 ⁨ ⁨用户⁩ / ⁨.ssh/id_rsa⁩ 这个文件,复制内容过来即可

如果没配置过ssh,建议先配置下,gitlab上可以直接配置

BBE965859A3B05C1E6199893C4C743D0.png

设置好了,保存下,至此,基本的配置已经初步完成。

四:搭配fastlane/shell脚本完成自动化构建

现在还不能直接跑项目,我们需要搭配fastlane/shell脚本,来完成自动化打包。
需要两个插件:Build Environmentshell

Build Environment 配置:
目录 系统管理—插件管理- 搜索 injector,进行安装

A659A282D80DFA847E78D7D7F13A0899.png

然后回到项目的页面,就可以看到Build Environment 已经在了

在终端输入:echo $PATH ,把值写到内容里面,拼装格式如图

A74675380A2F138F04A061657A97BBC5.png

添加shell命令 ,并植入fastlane打包相关的代码

5130F5001B464BE73E02DC9A5BD211D0.png

现在已经初步搭建好了,可以尝试下,能否跑成功

Fastlane跑项目的时候,需要两次授权:

  1. 输入 appid 密码,以获取并更新 provisioning file 文件 (这一步可以在环境变量里设置,也可以在fastlane的file文件里设置)
  2. codesigh授权,需要输入电脑的密码。

(最简单的方法,就是安装好fastlane之后,在命令行单独跑一下项目,把这两部操作实现之后,直接在Jenkins上跑,就可以成功了)

五:上传包至分发平台(fir.im、蒲公英等)

这里以fir.im平台为例,蒲公英流程类似

登录fir.im官网,下载 fir.im for jenkins 插件,然后在 系统管理-插件管理-高级

上传插件


20E0BA330797B84A6FBF2576C84C18C9.png

然后到项目中设置,主要是 APIToken 和更新信息

1486F572ABBD878921A083D256B7FFF7.png

六:打包状态通知

在Jenkins插件市场下载下载"钉钉通知"插件,设置accesstoken即可,打包开始/成功/失败时,钉钉机器人会通知到具体群里

156AEDBAF0EA3606A413F5495CAD445A.jpg

Jenkins URL:该项一般填写Jenkins项目的地址,当前电脑的局域网即可访问

七:Jenkins服务器管理

一般以Mac mini作为macOS平台下的Jenkins服务器,
有时需要进入Macmini进行设置工程的Apple账号管理,描述文件管理等,我们可以给Macmini电脑设置屏幕共享,这样就可以局域网内直接访问到Macmini

2AB300E2B132D92CAFF6DF25EDE4C045.jpg

如图,设置远程登录和远程管理,局域网内其他电脑即可通过苹果自带的“屏幕共享”软件来访问和控制该电脑

Jenkins 搭建遇到的问题

打包过程中遇到错误:
[31m❌ error: Embedded binary is not signed with the same certificate as the parent app. Verify the embedded binary target's code sign settings match the parent app's.�[0m
通过把证书由全部信任,改成系统默认—
来源:https://blog.csdn.net/yaojinhai06/article/details/52911924

Jenkins 卸载流程

//进入以下目录,双击运行
/Library/Application Support/Jenkins/Uninstall.command
//也可以这样运行
sh "/Library/Application Support/Jenkins/Uninstall.command"

//删除配置,这个可选
sudo rm -rf /var/root/.jenkins ~/.jenkins
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
sudo rm /Library/LaunchDaemons/org.jenkins-ci.plist
sudo rm -rf /Applications/Jenkins "/Library/Application Support/Jenkins" /Library/Documentation/Jenkins
sudo rm -rf /Users/Shared/Jenkins
sudo dscl . -delete /Users/jenkins
sudo dscl . -delete /Groups/jenkins
sudo rm -f /etc/newsyslog.d/jenkins.conf
pkgutil --pkgs | grep 'org\.jenkins-ci\.' | xargs -n 1 sudo pkgutil --forget

//如果使用brew安装的,可以执行以下命令
brew uninstall jenkins

https://stackoverflow.com/questions/11608996/how-to-uninstall-jenkins

Jenkins 设置开机自启动

编写脚本

用记事本(文本编辑)编写启动脚本,如这里我是启动jenkins服务,编写:

# 启动Jenkins服务
java -jar /Users/zhirenyi/Desktop/jenkins.war(如果遇到失败,就指定端口,比如加后缀 --httpPort=8080)

然后保存为.sh形式文件,如startup.sh。
初始这文件是没有执行权限的,故需要给它赋予执行权限。
命令行执行:chmod +x startup.sh
有了权限之后,右键文件,选择“显示简介”,将打开方式选择为终端打开。

添加开机启动

最后是往系统设置(在设置->用户与群组->登录项)的登录项中添加启动文件:

5C3C319E1EF69444F9329D7D6FBBFB2B.jpg

下次关机后再开机或重启后就会自动在终端执行命令自动启动Jenkins服务了。

你可能感兴趣的:(macOS Jenkins 教程一:搭建,卸载,设置开机启动)