Jenkins 部署與搭建

基于CentOS 6.5 服務器上已裝 JDK ,Tomcat 。

1. 在Linux服務器上下載安裝Jenkins

  • 下載地址 : https://jenkins.io/ 下載如下的war包版本即可
    1557365942123.png
  • 將其部署到tomcat之中并啟動,然后按提示輸入 /root/.jenkins/secrets/initialAdminPassword 中的密碼
  • 安裝Jenkins插件(額外推薦插件Rebuilder、Safe Restart,可在系統管理 --> 插件管理中選擇安裝)
  • 創建管理員用戶


    1557366682598.png

2. 安裝git, maven 并進行相關配置

2.1 安裝git

  • 安裝git

    yum install git
    
  • 生成密鑰并配置到相應的倉庫上

    ssh-keygen -t rsa -C "youremail@abc.com"http://你的郵箱地址
    連按三次回車  然后將 /root/.ssh/id_rsa.pub 中的公鑰添加進倉庫
    

2.2 安裝maven

  • 安裝maven

    將maven zip文件上傳至Linux服務器,并解壓
    unzip filename.zip
    
  • 修改maven 環境變量

    vim /etc/profile
    //添加如下內容
    export MAVEN_HOME=maven所在路徑
    export PATH=$MAVEN_HOME/bin:$PATH
    
    //保存并退出
    //啟動配置
    . /etc/profile
    

2.3將Linux服務器注冊到Jenkins上

  • 開啟服務器上的ssh服務

    通過一下命令查看是否開啟
    netstat -anp | grep :22
    
    若netstat 命令報錯 則先安裝網絡工具并重啟服務器
    yum install net-tools
    
  • 在Jenkins中操作遠程服務器

    系統管理 ---> 新建節點

1557371354255.png

其中JVM選項: 可以用來配置JVM的啟動參數

  • 啟動剛配置的節點

    若啟動時,報類似如下錯誤
    /var/root/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/roor/.ssh/known_hosts. Please ensure one is created at this path and that Jenkins can read it.
    
    則在服務器端執行如下命令
    cd /root/.ssh   //對應各自密鑰所在文件目錄
    cat id_rsa.pub > authorized_keys
    chmod 700 authorized_keys
    
    最后修改節點配置頁面中的主機密鑰驗證策略項 Host Key Verification Strategy 為
    Manually trusted key Verification Strategy
    
  • 重新啟動節點

    [05/09/19 10:54:49] [SSH] Starting agent process: cd "/usr/jenkins" && /usr/java/jdk1.8.0_161/bin/java  -jar remoting.jar -workDir /usr/jenkins
    May 09, 2019 10:54:49 AM org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir
    INFO: Using /usr/jenkins/remoting as a remoting work directory
    May 09, 2019 10:54:49 AM org.jenkinsci.remoting.engine.WorkDirManager setupLogging
    INFO: Both error and output logs will be printed to /usr/jenkins/remoting
    <===[JENKINS REMOTING CAPACITY]===>channel started
    Remoting version: 3.30
    This is a Unix agent
    Evacuated stdout
    Agent successfully connected and online
    

    出現以上信息則啟動成功

3 Jenkins 與Github/GitLab集成配置

### 3.1 創建新任務

輸入任務名,選擇構建自由風格的軟件i項目 ---> Confirm

1557387163278.png

3.2 限制項目運行節點

選擇項目的運行節點,用GitHub的話可以勾選GitHub項目。

1557387263050.png

3.3 源碼管理

選擇git,填寫GitHub或GitLab代碼庫地址。這里會遇到授權失敗的問題,搜索了很多方法,最終通過如下兩個方法解決(一般通過私鑰授權方式即可)。

  1. 添加私鑰授權方式,將服務器中/root/.ssh/id_rsa中的私鑰填入進行授權,之后要保證公鑰已經添加進Github/GitLab中和寫入/root/.ssh/authorized_keys 文件中


    1557387813346.png
  2. GitHub/GitLab賬戶密碼驗證

1557388167816.png

之后在Credentials中依次選擇剛才添加的驗證方式即可。

你也可以選擇使用自己搭建的GitLab,具體的搭建方式見:個人Gitlab搭建及配置

3.4 構建及部署操作

1557394963425.png

其中:

  • WAR/EAR files : 指的是Jenkins工作目錄下war的存放位置,也就是你所要部署的war包名稱。
  • Context path :瀏覽器訪問時的項目名。
  • Credentials :部署到指定tomcat下的授權驗證方式
  • Tomcat URL : 目標tomcat,部署之前要保證目標Tomcat處于啟動狀態

3.5 獲取tomcat授權方式

在沒通過指定tomcat授權的情況下,通過Jenkins部署到該Tomcat下會報出如下錯誤

Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager (error 403)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:704)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889)
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173)
    ... 17 more
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://192.168.10.50:8083/manager/text/list
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:571)
    ... 20 more

修改對應tomcat目錄下的/conf/tomcat-users.xml 文件,添加角色及用戶。

<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx"/>

修改對應tomcat下的 /webapps/manager/META-INF/context.xml文件,設置所有ip都能訪問manager,這點很重要!之前搜索了很多博客都是因為缺少了這一點導致部署失敗。

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="^.*$" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

最后使用tomcat-user.xml文件中配置的用戶進行授權。

1557395837733.png

返回工程重新構建即可,這次記錄暫且到這。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,527評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,687評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,640評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,957評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,682評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,011評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,009評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,183評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,714評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,435評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,665評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,148評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,838評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,251評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,588評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,379評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,627評論 2 380

推薦閱讀更多精彩內容