0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

jenkins自動化部署

lhl545545 ? 來源:電子發(fā)燒友網(wǎng) ? 2018-02-06 11:27 ? 次閱讀

事例說明:在linux環(huán)境下,安裝的jenkins,集成svn,項目是maven項目Jenkins配置

在Jenkins首頁,點擊Manage Jenkins,然后點擊Manage Plugins插件管理,安裝必要的插件,svn,maven,ssh等

jenkins自動化部署

然后Jenkins首頁,點擊Manage Jenkins,然后點擊Global Tool Configuration工具配置,配置JDK,Maven等

jenkins自動化部署

jenkins自動化部署

Jenkins使用

第一步:在首頁新建一個任務(wù),然后填入任務(wù)名,選擇自由風格的項目

jenkins自動化部署
jenkins自動化部署

第二步,項目名稱,可不做修改

jenkins自動化部署

第三步:添加svn地址,并設(shè)定好,用戶名和密碼

第四步:構(gòu)建時,有三種情況

情況一,使用maven進行項目的構(gòu)建,使用插件發(fā)布

jenkins自動化部署

第四步:構(gòu)建時,有兩種情況,建議使用第三者,本人親測

情況一,使用maven進行項目的構(gòu)建,使用插件發(fā)布

jenkins自動化部署

構(gòu)建后操作,使用插件發(fā)布項目,進行項目的發(fā)布,項目發(fā)布需要使用的插件是(Deploy to container Plugin),發(fā)布到tomcat中,需要用到tomcat的用戶名和密碼,tomcat用戶可以自己在tomcat中的conf/tomcat-users.xml文件中配置

jenkins自動化部署

tomcat-users.xml配置

jenkins自動化部署

情況二,使用shell命令進行項目的構(gòu)建,然后直接用命令進行發(fā)布,執(zhí)行tomcat啟動的時候,需要加入命令export BUILD_ID=dontKillMe

jenkins自動化部署

jenkins構(gòu)建輸出結(jié)果

jenkins自動化部署

情況三,使用shell命令進行項目的構(gòu)建,然后直接用命令進行發(fā)布,執(zhí)行tomcat啟動的時候,需要加入命令export BUILD_ID=dontKillMe

jenkins自動化部署

腳本源碼:

export BUILD_ID=dontKillMe

rm -rf /alidata/ejoined/server/apache-tomcat-8365/webapps/ROOT

cp -R /var/lib/jenkins/workspace/adsl-taobao-admin/target/ROOT.war /alidata/ejoined/server/apache-tomcat-8365/webapps/

tomcatpath=“/alidata/ejoined/server/apache-tomcat-8365”

pid=$(ps -ef | grep java | grep ${tomcatpath} | awk ‘{print $2}’)

kill -9 $pid

rm -rf ${tomcatpath}/work/Catalina/localhost/*

sleep 1

${tomcatpath}/bin/startup.sh

以上完成;

但是會有一些異常;如下:

jenkins自動化部署

如上圖所示:編譯成功,但無論怎樣執(zhí)行腳本都提示沒有權(quán)限(Permission denied),

這么問題本人費時一天終于搞定了。怎樣解決那?

下面開始,從問題上分析,可以看出是用的當前jenkins用戶在宿主Linux服務(wù)器上配置的默認用戶名權(quán)限不對,

問題就在這里,

下面開始講解解決步驟:

1.首先查看你要使用腳本運行的腳本指向哪里,本文中情況三中腳本指向的目標文件或者目錄是(/alidata/ejoined/server/apache-tomcat-8365),這個文件下的所有東西,要看所指向的目錄上的可執(zhí)行的用戶,如下圖:

jenkins自動化部署

從圖中可看出,可執(zhí)行的用戶是root,

腳本指向的目標文件或者目錄的一定要有可執(zhí)行的權(quán)限;

修改權(quán)限命令:chmod -R 755 目標目錄名稱

2.知道腳本所指向的目錄或者文件所指向的用戶了,那么接下來就好解決了,

如何修改運行jenkins進程的linux帳號?

1、找的jenkins的配置文件,一般是/etc/sysconfig/jenkins

2、修改下面的參數(shù)為相應(yīng)的用戶,比如JENKINS_USER=“root”

## Type: string

## Default: “jenkins”

## ServiceRestart: jenkins

#

# Unix user account that runs the Jenkins daemon

# Be careful when you change this, as you need to update

# permissions of $JENKINS_HOME and /var/log/jenkins.

#

JENKINS_USER=“jenkins”

3、重啟jenkins:service jenkins restart

打開瀏覽器輸入地址,重新從第一個項目的編譯開始,接下來你就發(fā)現(xiàn)成功了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • jenkins
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    5158
收藏 人收藏

    評論

    相關(guān)推薦

    Jenkins遠程部署Linux服務(wù)器的過程

    1、Jenkins遠程部署Linux服務(wù)器  之前在Jenkins上也有一些使用經(jīng)驗了,但是都是使用團隊配置好的Jenkins,自己只需要管自己的項目以及執(zhí)行構(gòu)建即可,這一次自己嘗試了
    發(fā)表于 11-18 18:12

    jenkins有什么用_jenkins如何自動部署

    Jenkins是一個開源的、提供友好操作界面的持續(xù)集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持續(xù)、自動的構(gòu)建/測試軟件項目、監(jiān)控外部任務(wù)的運行(這個比較抽象,暫且寫上,不做解釋)。
    發(fā)表于 12-20 19:06 ?3.7w次閱讀
    <b class='flag-5'>jenkins</b>有什么用_<b class='flag-5'>jenkins</b>如何<b class='flag-5'>自動</b><b class='flag-5'>部署</b>

    Jenkins自動化測試步驟

    一個持續(xù)集成的基本原則是構(gòu)建應(yīng)該是可驗證的。你必須能夠客觀地確定一個特定的構(gòu)建是否準備就緒構(gòu)建過程的下一個階段,最便捷的方式做到這一點是使用自動化測試。如果沒有適當?shù)?b class='flag-5'>自動化測試,會發(fā)現(xiàn)自己不得不
    的頭像 發(fā)表于 02-06 15:03 ?1.1w次閱讀
    <b class='flag-5'>Jenkins</b><b class='flag-5'>自動化</b>測試步驟

    云平臺的自動化部署設(shè)計與實現(xiàn)

    基于簡化部署操作、節(jié)省部署時間、提高部署效率的目的,對云平臺架構(gòu)和網(wǎng)絡(luò)拓撲進行設(shè)計,對云平臺自動化系統(tǒng)的需求進行分析,重點對自動化
    發(fā)表于 02-23 10:07 ?0次下載
    云平臺的<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>設(shè)計與實現(xiàn)

    Jenkins+docker+springboot一鍵自動部署項目

    本文章實現(xiàn)最簡單全面的Jenkins+docker+springboot 一鍵自動部署項目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 09-14 09:30 ?1616次閱讀

    Jenkins+Docker一鍵自動化部署SpringBoot最簡流程

    簡述實現(xiàn)步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實現(xiàn)項目自動拉取打包并運行。
    的頭像 發(fā)表于 11-23 10:16 ?1403次閱讀

    Jenkins+Docker一鍵自動化部署SpringBoot項目

    本文章實現(xiàn)最簡單全面的Jenkins+docker+springboot 一鍵自動部署項目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 12-14 10:04 ?936次閱讀

    Jenkins+Docker實現(xiàn)一鍵自動化部署項目!

    本文章實現(xiàn)最簡單全面的Jenkins+docker+springboot 一鍵自動部署項目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 01-06 15:36 ?1283次閱讀

    Jenkins部署啟動案例

    電子發(fā)燒友網(wǎng)站提供《Jenkins部署啟動案例.zip》資料免費下載
    發(fā)表于 06-15 14:53 ?0次下載
    <b class='flag-5'>Jenkins</b><b class='flag-5'>部署</b>啟動案例

    Jenkins+Docker一鍵自動化部署SpringBoot應(yīng)用最精簡流程

    簡述實現(xiàn)步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實現(xiàn)項目自動拉取打包并運行。
    的頭像 發(fā)表于 11-06 16:27 ?2351次閱讀
    <b class='flag-5'>Jenkins</b>+Docker一鍵<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>SpringBoot應(yīng)用最精簡流程

    基于Jenkins+GitLab+Maven實現(xiàn)代碼自動打包編譯發(fā)布

    Jenkins是一個獨立開源的持續(xù)集成和持續(xù)交付工具,用于自動化構(gòu)建、測試和部署軟件項目。
    的頭像 發(fā)表于 11-20 09:57 ?5051次閱讀
    基于<b class='flag-5'>Jenkins</b>+GitLab+Maven實現(xiàn)代碼<b class='flag-5'>自動</b>打包編譯發(fā)布

    使用Jenkins和單個模板部署多個Kubernetes組件

    在持續(xù)集成和部署中,我們通常需要部署多個實例或組件到Kubernetes集群中。通過Jenkins的管道腳本,我們可以自動化這個過程。在本文中,我將演示如何使用
    的頭像 發(fā)表于 01-02 11:40 ?810次閱讀
    使用<b class='flag-5'>Jenkins</b>和單個模板<b class='flag-5'>部署</b>多個Kubernetes組件

    Flexus X 實例 Docker+Jenkins+gitee 實現(xiàn) CICD 自動化部署 - 解放你的雙手~

    前言 828 B2B 企業(yè)節(jié)特惠來襲,F(xiàn)lexus X 實例引領(lǐng)自動化部署新紀元!Docker 攜手 Jenkins 與 Gitee,共創(chuàng) CICD 無限可能!在快速迭代的數(shù)字時代,我們自豪地推出
    的頭像 發(fā)表于 12-26 18:19 ?190次閱讀
    Flexus X 實例 Docker+<b class='flag-5'>Jenkins</b>+gitee 實現(xiàn) CICD <b class='flag-5'>自動化</b><b class='flag-5'>部署</b> - 解放你的雙手~

    Jenkins 與 SonarQube 集成部署,自動化代碼質(zhì)量監(jiān)控

    的性能表現(xiàn),為 Jenkins 與 SonarQube 的集成部署提供強大支撐。在 Flexus X 的助力下,自動化代碼掃描與質(zhì)量問題即時反饋成為可能,顯著提升團隊開發(fā)效率與軟件質(zhì)量。立即體驗華為云
    的頭像 發(fā)表于 01-07 17:24 ?227次閱讀
    <b class='flag-5'>Jenkins</b> 與 SonarQube 集成<b class='flag-5'>部署</b>,<b class='flag-5'>自動化</b>代碼質(zhì)量監(jiān)控

    基于 Docker 與 Jenkins 實現(xiàn)自動化部署

    前言 重塑自動化部署新高度,Docker 攜手 Jenkins,在華為云 Flexus X 云服務(wù)器的加持下,引領(lǐng)持續(xù)集成與部署的新紀元。Flexus X 以其卓越的性能、靈活的資源配
    的頭像 發(fā)表于 01-07 17:25 ?190次閱讀
    基于 Docker 與 <b class='flag-5'>Jenkins</b> 實現(xiàn)<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>