Mac安装jenkins
[TOC]
安装java
- 查看是否已经安装java
~> java -version
No Java runtime present, requesting install.
表示没有安装过; 进行安装 2.我们这里通过brew进行安装,执行下面命令进行安装
~> brew tap caskroom/versions
# 当成功后,检测java的版本
~> brew cask info java
java: 14.0.1,7:664493ef4a6946b186ff29eb326336a2
https://openjdk.java.net/
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/java.rb
==> Name
OpenJDK Java Development Kit
==> Artifacts
jdk-14.0.1.jdk -> /Library/Java/JavaVirtualMachines/openjdk-14.0.1.jdk (Generic Artifact)
==> Analytics
install: 17,765 (30 days), 55,297 (90 days), 273,317 (365 days)
安装最新版本java
~> brew cask install java
==> Downloading https://download.java.net/java/GA/jdk14.0.1/664493ef4a6946b186ff29eb326336a2/7/GPL/openjdk-14.0.1_osx-x64_bin.tar.gz
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'java'.
==> Installing Cask java
==> Moving Generic Artifact 'jdk-14.0.1.jdk' to '/Library/Java/JavaVirtualMachines/openjdk-14.0.1.jdk'.
Password:
🍺 java was successfully installed!
查看版本
~> java -version
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+7)
OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)
安装Jenkins
安装Jenkins
执行下面命令
~> brew install jenkins
==> Downloading https://homebrew.bintray.com/bottles/openjdk%4011-11.0.7%2B10.catalina.bottle.tar.gz
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/1cef37f5566ca7c60c03bad337c81516525459a7c4892519bc9badf90633a935?response-content-disposition=attachment%3Bfilename%3D%22openjdk%4011-11.0.7%2B10.catalina.bottle.tar.gz%22&Policy=eyJTdGF0ZW1lbnQi
######################################################################## 100.0%
==> Downloading http://mirrors.jenkins.io/war/2.243/jenkins.war
==> Downloading from http://ftp-chi.osuosl.org/pub/jenkins/war/2.243/jenkins.war
######################################################################## 100.0%
==> Installing dependencies for jenkins: openjdk@11
==> Installing jenkins dependency: openjdk@11
==> Pouring openjdk@11-11.0.7+10.catalina.bottle.tar.gz
==> Caveats
For the system Java wrappers to find this JDK, symlink it with
sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
openjdk@11 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have openjdk@11 first in your PATH run:
echo 'export PATH="/usr/local/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc
For compilers to find openjdk@11 you may need to set:
export CPPFLAGS="-I/usr/local/opt/openjdk@11/include"
==> Summary
🍺 /usr/local/Cellar/openjdk@11/11.0.7+10: 650 files, 295.2MB
==> Installing jenkins
==> /usr/local/opt/openjdk@11/bin/jar xvf jenkins.war
==> Caveats
Note: When using launchctl the port will be 8080.
To have launchd start jenkins now and restart at login:
brew services start jenkins
Or, if you don't want/need a background service you can just run:
jenkins
==> Summary
🍺 /usr/local/Cellar/jenkins/2.243: 6 files, 63.9MB, built in 6 seconds
==> Caveats
==> openjdk@11
For the system Java wrappers to find this JDK, symlink it with
sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
openjdk@11 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have openjdk@11 first in your PATH run:
echo 'export PATH="/usr/local/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc
For compilers to find openjdk@11 you may need to set:
export CPPFLAGS="-I/usr/local/opt/openjdk@11/include"
==> jenkins
Note: When using launchctl the port will be 8080.
To have launchd start jenkins now and restart at login:
brew services start jenkins
Or, if you don't want/need a background service you can just run:
jenkins
安装jenkins, Homebrew会将软件包安装到独立目录/usr/local/Cellar,并将其文件软链接至/usr/local
命令启动/停止/重启jenkins
#启动jenkins
~> brew services start jenkins
==> Tapping homebrew/services
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services'...
remote: Enumerating objects: 52, done.
remote: Counting objects: 100% (52/52), done.
remote: Compressing objects: 100% (48/48), done.
remote: Total 829 (delta 20), reused 16 (delta 3), pack-reused 777
Receiving objects: 100% (829/829), 232.74 KiB | 58.00 KiB/s, done.
Resolving deltas: 100% (337/337), done.
Tapped 1 command (40 files, 310.9KB).
==> Successfully started `jenkins` (label: homebrew.mxcl.jenkins)
#停止jenkins
brew services stop jenkins
#重启jenkins
brew services restart jenkins
启动Jenkins后浏览器进入http://localhost:8080/
或ip:8080 访问,

# 获取密码
cat /Users/${计算机名称}/.jenkins/secrets/initialAdminPassword
进入后根据自己选择安装插件

修改端口或者局域网访问
修改端口或者局域网访问,jenkins默认的httpListenAddress是127.0.0.1也就是本机地址,如果局域网需要访问的话需要改成0.0.0.0,修改httpPort的值就是修改端口
# 打开配置文件
sudo vim /usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist
#重启jenkins
brew services restart jenkins
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.jenkins</string>
<key>ProgramArguments</key>
<array>
<string>/usr/libexec/java_home</string>
<string>-v</string>
<string>1.8</string>
<string>--exec</string>
<string>java</string>
<string>-Dmail.smtp.starttls.enable=true</string>
<string>-jar</string>
<string>/usr/local/opt/jenkins/libexec/jenkins.war</string>
<string>--httpListenAddress=127.0.0.1</string>
<string>--httpPort=8080</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
遇到问题
- 下载插件时候总是遇到网络下载超时的报错,如:
Failure -
java.net.SocketTimeoutException: Read timed out
at java.base/java.net.SocketInputStream.socketRead0(Native Method)
at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:290)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:351)
at java.base/sun.net.www.MeteredStream.read(MeteredStream.java:134)
at java.base/java.io.FilterInputStream.read(FilterInputStream.java:133)
at java.base/sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3505)
at java.base/sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3498)
at org.apache.commons.io.input.ProxyInputStream.read(ProxyInputStream.java:78)
at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1282)
Caused: java.io.IOException: Failed to load http://updates.jenkins-ci.org/download/plugins/snakeyaml-api/1.26.4/snakeyaml-api.hpi to /Users/shuaishuai/.jenkins/plugins/snakeyaml-api.jpi.tmp
at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1287)
Caused: java.io.IOException: Failed to download from http://updates.jenkins-ci.org/download/plugins/snakeyaml-api/1.26.4/snakeyaml-api.hpi (redirected to: http://mirror.serverion.com/jenkins/plugins/snakeyaml-api/1.26.4/snakeyaml-api.hpi)
at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1321)
at hudson.model.UpdateCenter$DownloadJob._run(UpdateCenter.java:1869)
at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2147)
at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1843)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:111)
at java.base/java.lang.Thread.run(Thread.java:834)
这可以更换下Jenkins插件镜像源
在Manage Jenkins
--->Manage Plugins
--->Advanced
--->Updatate Site
;
把
https://updates.jenkins.io/update-center.json
修改为清华的镜像源
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
【详细的Jenkins的镜像地址查询:mirrors.jenkins-ci.org/status.html… 保存后,即可返回到【可选插件】选项卡下,进行搜索重新安装。
进入Jenkins的插件下载网站
下载Jenkins的插件的地址:plugins.jenkins.io/
更新Jenkins
homebrew安装的Jenkins版本较低,有些插件可能不支持,所以我们将Jenkins升级一下,找到Jenkins的下载地址https://jenkins.io/download/,下载.war格式的包。 在finder中找到Jenkins的位置~/.jenkins,会发现Jenkins的目录下有一个war文件夹,将war文件夹里面的东西都删除,然后将我们下载的.war文件里的东西全部解压到war文件夹里。重新启动Jenkins,Jenkins就升级到最新了。
一些命令
macOS Installers for Jenkins Weekly Tweet Homebrew Installer Sample commands:
- Install the latest Weekly version:
brew install jenkins
- Install a specific Weekly version:
brew install jenkins@YOUR_VERSION
- Start the Jenkins service:
brew services start jenkins
- Restart the Jenkins service:
brew services restart jenkins
- Update the Jenkins version:
brew upgrade jenkins
本文参考了如下文章