早两天Mac mini打包服务器被猪队友一顿操作,结果重启后一直起不来了。一直卡在烂苹果界面,各种方式都试了,安全模式可以进,但是卡的不行,估计账号的文件被损坏。只能苦逼的重装系统了,在之前我认为只有Windows才有重装系统一说~。。。 是偶大意了,没有闪~
一、安装Jenkins依赖的java环境
安装Jenkins需要依赖java环境,终端输入以下命令:
java -version
java version "11.0.9" 2020-10-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.9+7-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.9+7-LTS, mixed mode)
mobileserver1@MobileServer1deMac-mini ~ %
这一步无需太多,需要说明的是安装jdk 11,后面会讲。最开始是安装的jdk 8,jenkins起不来。
从官网下载需要的JDK版本
http://www.oracle.com/technetwork/java/javase/downloads/
二、通过HomeBrew安装Jenkins
1、首先检查下是否已经安装HomeBrew
有版本号就说明安装了,如果没有就得安装。
我是用的官网命令安装的:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Homebrew的安装参考:Homebrew工具使用
2、然后通过HomeBrew安装Jenkins
brew install jenkins
...
...
==> Pouring jenkins--2.364.all.bottle.tar.gz
==> Caveats
Note: When using launchctl the port will be 8080.
To restart jenkins after an upgrade:
brew services restart jenkins
Or, if you don't want/need a background service you can just run:
/usr/local/opt/jenkins/bin/jenkins --httpListenAddress=127.0.0.1 --httpPort=8080
==> Summary
🍺 /usr/local/Cellar/jenkins/2.410: 8 files, 92.4MB
==> Running `brew cleanup jenkins`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
出现以上信息说明Jenkins安装好了。
3、Jenkins相关命令
1、Jenkins启动命令:
brew services start jenkins
2、Jenkins重启命令:
brew services restart jenkins
3、Jenkins停止命令:
brew services stop jenkins
输入启动命令后,出现以下信息代表已经启动了。
Successfully started `jenkins` (label: homebrew.mxcl.jenkins)
三、通过浏览器打开和配置Jenkins
1、安装好后,通过浏览器打开Jenkins
Jenkins启动之后,在浏览器输入http://localhost:8080地址来打开Jenkins或者是服务器的话可以http://ip:8080来打开。
1.2、如果说正常启动就直接打开了。而我是不走运,打不开。服务器拒绝访问了。
- 这时,我们需要检查jdk是否是11版本,若不是请安装jdk 11版本。
- 然后,我们需要去Jenkins官网下载jenkins.war包。如图所示:
- 然后,我们需要去Jenkins官网下载jenkins.war包。如图所示:
- 最后,通过终端输入java -jar jenkins.war命令。
server@ServerdeMac-mini ~ % java -jar jenkins.war
通过以上三个步骤,我终于可以通过浏览器打开Jenkins了。
2、输入Jenkins管理员密码
最开始浏览器打开jenkins,会出现下图:
图片上的红色路径表示jenkins的管理员密码所在文件,我们可以复制下来,通过open命令打开,复制密码填入输入框中。
open /Users/****/.jenkins/secrets/initialAdminPasswords
3、配置安装Jenkins插件
可以选择点击上图中第一个安装建议的插件,需要比较长的时间来等待安装完成。
有时候会出现安装失败的情况,可以重试重新安装。
4、创建管理员账户
插件安装完后会进入到创建管理员用户的界面:
然后Jenkins 就安装完成了,如下
5、Jenkins配置开机启动
默认情况下,Jenkins如果第一次安装好,直接可以浏览器可以打开的话。就不需要配置啥,因为Jenkins本身是后台启动项,会被添加到登录项中。开机直接就运行了。
Mac: 设置 -> 通用 -> 登录项
但是我们遇到了打不开的情况,我们是下载了jenkins.war,然后通过java -jar jenkins.war命令启动。但是如果重启了,我们每次都要输入这个命令启动Jenkins吗?No~ 不需要
- 这时候我们可以新建一个pubJenkins.sh文件,然后在文件中加入下面命令:
#! /bin/sh
java -jar */*/jenkins.war (jenkins.war放置的位置)
-
这一点值得注意,我们这个pubJenkins.sh文件需要配置通过终端打开。这一点很重要!!!
-
-
在设置 -> 通用 -> 登录项中加入
-
四、Jenkins配置打包项
这里主要讲讲我们配置的Jenkins打包任务和遇到的问题。(这里以Flutter项目打包配置举例)
4.1 配置打包分发任务
- Dashboard -> New Item -> FreeStyle project,这里就可以创建一个新的打包项目。
-
Git配置:通过Git这里需要配置有是三个地方:1. 项目Git地址;2. Git的账户配置[添加账号一般是Git的账户名和password为access token(可能并不是你的git登录密码)];3. 选择Git项目的分支;
-
-
Build Step:Build Step顾名思义就是编译步骤,对于Flutter而言,我们使用Execute Shell就行了。
然后,在输入框中填入Flutter打包命令就行了。
-
- 最后一步(publish):打包完成后那就得上传了,像我们的话使用蒲公英来进行分发。所以先得安装一个插件:Upload to pgyer。然后,在Post-build Actions这项中选择Upload to pgyer with apiV2
最后,在配置蒲公英的APIKey,和上传文件的路径和类型就可以了。
- 最后一步(publish):打包完成后那就得上传了,像我们的话使用蒲公英来进行分发。所以先得安装一个插件:Upload to pgyer。然后,在Post-build Actions这项中选择Upload to pgyer with apiV2
这样,一个项目的打包和分发的配置就完成了,这时候就可以Build玩一玩了。
4.2 点睛之笔 - 编译条件
一个项目的运行包括打包和分发,比如说如果你打包成功了。只是分发的时候失败了。那整个项目就失败了。如果重新打包又浪费时间,这时候你可能需要编译跳过打包阶段,直接进入上传阶段。
-
首先在项目配置中添加Build Parameter:
-
-
安装插件:Conditional BuildStep。然后在Build Step中选择Conditional step(single),然后配置相关条件,勾了SKIP_BUILD就不执行编译打包步骤了。
-
-
Build时自由选择,勾SKIP_BUILD就是跳过编译,直接上传,不勾的话就是全量打包
-
4.3 修改Jenkins WorkSpace路径
-
在Mac下,要修改workspace路径可以在Jenkins安装目录:一般是隐藏文件夹(shift+command+. 开启或者关闭)。/Users/用户名/.jenkins/config.xml
-
-
在config.xml文件中,找到workspaceDir这个标签,并修改workspace的目录路径。
-
4.4 Jenkins打包Flutter iOS项目时的错误
- 出现"Cannot find "xcodebuild". Xcode 12.3 or greater is required to develop for iOS."错误;
终端输入命令:
sudo xcode-select--switch/Applications/Xcode.app/Contents/Developer
-
Xcode 14.3编译iOS,出现“ld: file not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a”
这里找不到这个文件,确实我进入Xcode目录看确实没有这个文件了,官方解释是:“因为新系统已经内置了ARC的相关库,所以就没必要额外链接了”。可是这里如何解决呢?
找一个Xcode 13的版本,找到这个文件夹。然后把这个arc文件夹整个复制到xcode 14版本的对应目录下,重启就可以了。
-
4.5 Jenkins的杂七杂八
-
配置用户权限:我记得以前用插件:Role-based Authorization Strategy可以配置用户权限的,这次可能Jenkins版本高了,我安装插件后,怎么也找不到用户权限配置的入口。
后来发现,在Manage Jenkins -> Security -> Authorization(选择Matrix-based security)就可以配置用户的权限了。
-
- Jenkins的乱七八糟
退出Jenkins:http://localhost:8080/exit
重启Jenkins:http://localhost:8080/restart
重新加载Jenkins配置: http://localhost:8080/reload
- Jenkins的乱七八糟