1. 程式人生 > >Mac OS 搭建 Jenkins 實踐(Tomcat + jenkins.war)

Mac OS 搭建 Jenkins 實踐(Tomcat + jenkins.war)

在探索過程中有一次失敗的經歷,直接在網上下載的 jenkins.pkg 的安裝包,傻瓜式一鍵安裝,安裝很簡單,但是在後續使用中遇到了 命令ipa (shenzhen) 打包的過程中  login.keychain 解鎖的問題(該問題就是 jenkins.pkg安裝到了 共享目錄裡面,並且自動建立了一個 jenkins的使用者,該使用者的login.keychain中沒有證書),該問題最終沒有繼續解決,轉而嘗試了 Tomcat + jenkins.war ,這種方式 沒油遇到問題,所以推薦大家使用如下方案 tomcat + jenkins.war

方案更新: 最近經過重新實踐發現, 原來的舊方案中有些步驟是不需要,也就是說舊方案過時了;

1、下載 tomcat

下載地址:  http://www-us.apache.org/dist/tomcat/


2、下載 war包

下載地址:

http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war

3、放置 jenkins.war 包

直接放到 tomcat/webapps/目錄下即可

4、注意安裝 JRE ,這個需要注意版本,如果版本不符合要求,會無法訪問 jenkins

 由於版本問題導致的無法訪問會在  tomcat/logs目錄下生成 log 檔案, localhost.日期.log ,內部有如下的錯誤提示,如果你也遇到這個問題,升級 JRE 就好,注意 升級JRE 需要重啟電腦。
嚴重: Error configuring application listener of class jenkins.util.SystemProperties
java.lang.UnsupportedClassVersionError: jenkins/util/SystemProperties : Unsupported major.minor version 51.0 (unable to load class jenkins.util.SystemProperties)
	at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:3200)
	at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:1373)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1861)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
	at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:504)
	at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:486)
	at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:113)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5034)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5634)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:695)
2016-10-10 16:46:52 org.apache.catalina.core.StandardContext listenerStart


5、在瀏覽器訪問jenkins 

localhost:8080/jenkins 舊的方案

1、安裝 Tomcat  其實就是 把壓縮包下載下來 解壓,無需安裝

我下載的 9 zip包 下載地址:

http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.0.M4/bin/apache-tomcat-9.0.0.M4.zip

下載完解壓到特定目錄,解壓完 先啟動起來,不然的話 是沒有 步驟三種說的那個 conf/Catalina/localhost/ 目錄的。

啟動的時候直接 執行 bin 下面的 startup.sh  (請先給所有  bin/  下的的 sh 檔案新增 可執行許可權 )。

2、下載 jenkins.war 包

下載地址:

http://mirrors.jenkins-ci.org/war-stable/latest/jenkins.war

3、放置 jenkins.war 包

在系統管理者的家目錄(例如/Users/admin)下建立一個目錄叫hudson, 將jenkins.war放到這個目錄, 例如/Users/admin/hudson/jenkins.war
到$TOMCAT_INSTALL_DIR$/conf/Catalina/localhost/目錄下新增一個檔案名為hudson.xml, 檔案內容如下

<?xml version='1.0' encoding='utf-8'?>

<Context path="/hudson" docBase="/Users/admin/hudson/jenkins.war" debug="0">
    
</Context>


4、launchd_wrapper.sh 修改

下載下來的  tomcat 解壓後 bin/ 裡面是沒有 launchd_wrapper.sh 這個檔案的 ,我 自己建立了一個 launchd_wrapper.sh

裡面內容如下

export CATALINA_OPTS="-DHUDSON_HOME=/Users/admin/hudson -Xmx512m"

5、重新啟動Tomcat Server 


使用browser連到http://youripaddress:8080/hudson/, 看到以下畫面, 表示Hudson安裝成功