jenkins+maven+svn+npm自動發布部署實踐


一、系統版本centos7.6

二、根據jenkins官方安裝方法yum安裝jenkins

1、進入jenkins官網下載頁面https://jenkins.io/download/,選擇Red Hat/Fedora/CentOS

2、根據官方要求需首先安裝java8

yum install java-1.8.0-openjdk-devel -y

3、然后導入jenkins yum源

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

4、yum安裝jenkins

yum install jenkins -y

5、手動啟動jenkins

/etc/init.d/jenkins start

查看8080端口啟動即可

6、通過瀏覽器訪問設置jenkins,http://192.168.0.77:8080/

初始的管理員密碼,jenkins自動生成的,根據頁面紅色的路徑找到密碼,拷到下面的輸入框中。

選擇默認建議安裝插件

7、安裝完進入后選擇系統管理-插件管理,手動安裝Maven Integration plugin

三、系統安裝maven程序

1、進入maven官網http://maven.apache.org/download.cgi#,選擇maven二進制tar包下載

wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz

2、解壓maven包

tar -zxvf /root/apache-maven-3.6.0-bin.tar.gz -C /usr/local

四、安裝nodejs和npm

1、去官網下載nodejs二進制包https://nodejs.org

因為我們使用的是node8.11.1,我這次安裝也使用這個版本

wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.gz

2、解壓nodejs包

tar -zxvf node-v8.11.1-linux-x64.tar.gz -C /usr/local/

3、為了使用方便可以把nodejs命令加入到PATH路徑

vim /etc/profile

export PATH=$PATH:/usr/local/node-v8.11.1-linux-x64/bin

source /etc/profile

4、npm安裝包在國外,安裝較慢,更換淘寶npm源

npm install -g cnpm --registry=https://registry.npm.taobao.org

五、配置jenkins上jdk和maven路徑,進入系統管理-全局工具配置

 

 六、構建項目設置

1、新建任務,構建一個maven項目

 2、常規設置里面選擇丟棄舊的構建,保留5天5次即可

 

3、源碼管理選擇svn,填寫svn地址和svn賬號密碼

4、可以根據需要選擇構建觸發器,我這是手動構建,所以不選,構建環境選擇在構建前刪除原來構建項目

5、構建前步驟,因為我的項目需要首先npm打包后再給maven打包,所以在構建前需要執行shell命令進行npm打包

6、構建按如下寫即可

7、構建后執行shell命令,首先遠程關閉tomcat,然后刪除tomcat webapps下文件,然后上傳打包好的war包到tomcat下,然后啟動tomcat

七、構建項目

1、點剛才創建的項目-立即構建,開始構建

2、發現最后遠程執行命令報錯,雖然之前也做了這兩台機器無密鑰登錄,但是還是報錯,查找原因后發現,yum安裝jenkins后會自動創建一個jenkins賬號,jenkins服務是以jenkins賬號啟動,所以需要做jenkins賬號到遠程部署服務器無密鑰登錄

這里注意幾個坑:

1、默認jenkins賬號是不允許登錄的,需修改/etc/passwd里jenkins賬號/bin/false為/bin/bash后才能切換到jenkins賬號創建密鑰

2、jenkins賬號默認家目錄是/var/lib/jenkins

3、需要開啟jenkins賬號sudo無密碼登錄,在/etc/sudoers里加入jenkins ALL=NOPASSWD:ALL

4、linux第一次ssh連接遠程機器會有公鑰確認提示,需要輸入yes后才能繼續,我們需要關閉提示,否則構建時候遠程命令執行沒法通過,在/etc/ssh/ssh_config里StrictHostKeyChecking ask改為StrictHostKeyChecking no,重啟sshd服務

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM