之前項目將接口自動化項目持續集成到了jenkins上,這次專門寫篇文章記錄下。
持續集成時,主要分為以下幾個步驟:
1. 服務器安裝jdk;2.maven的安裝及配置;3.git的安裝及配置;4.jenkins的安裝及運行;5.將接口自動化項目持續集成到jenkins;6.在線測試報告的產出
一、jdk安裝
這個網上有很多教程,本文不再贅述。
二、maven的安裝和配置
1. 下載壓縮包,使用1.1或者1.2都可以:
1.1 通過自己的電腦將壓縮包上傳至服務器:
a. 進入maven官網下載 bin.zip格式的壓縮包,百度搜索apche maven即可;
b. 先檢查linux服務器上是否安裝了支持上傳的插件:
which rz
有的話進入步驟c;如果沒有則執行:
yum install lrzsz
c. 上傳本地的壓縮包
rz
1.2 直接在服務器上,cd進想要存放maven的目錄,輸入以下命令下載:
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
2. 解壓壓縮包
unzip apache-maven-3.6.3-bin.zip
3. 配置環境變量
vim /etc/profile //在配置文件中添加以下兩行 export MAVEN_HOME=/home/fanlilin/apache-maven-3.6.3 export PATH=$MAVEN_HOME/bin:$PATH
//退出vim編輯器后,保存配置
source /etc/profile
三、git的安裝和配置
1. 安裝git,推薦使用1.2的方式
1.1 使用yum命令(git版本較低,不推薦)
yum install git
1.2 參考maven的下載方式,去git官網下載對應的包后rz上傳至服務器,然后使用 'tar -xzvf 壓縮包名稱',解壓即可。
2. git用戶創建
git config --global user.name ‘your name' git config --global user.email 'your email address’
3. git環境變量配置
vim /etc/profile //打開配置文件后添加下面一行 export PATH=/usr/local/git/bin:$PATH
//退出vim編輯器后,保存配置
source /etc/profile
四、jenkins下載及運行
1. 安裝jenkins。選用1.1或1.2其中一種方式即可:
1.1 cd到服務器home目錄或者子用戶名下:
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war //下載完成后,直接運行並指定端口號 //注意端口號不能和要構建的項目相沖突 nohup java -jar jenkins.war -httpPort=8080
1.2 通過rpm安裝jenkins
去官網下載對應版本的jenkins包:https://pkg.jenkins.io/redhat-stable/
rz上傳至服務器對應路徑下,運行:
service jenkins start //這種方式下默認端口號是8080
2. 准備jenkins
瀏覽器訪問服務器ip:8080,進入jenkins的啟動頁,需要耐心等待。值得一提的是,由於這個過程特別緩慢,我去百度了解決方案,也推薦你們這么做:
//進入配置文件,將外網的地址更改成國內的 vim var/lib/jenkins/hudson.model.UpdateCenter.xml //進入vim后進行以下修改 將 http://updates.jenkins-ci.org/update-center.json 替換成 http://mirror.xmission.com/jenkins/updates/update-center.json
進入插件選擇,推薦插件和自定義都可以,進入jenkins后也可以再行下載,我選的是推薦插件。
3. 配置jenkins
a. 進入系統管理-->全局工具配置-->git,配置如下:
b. 配置ssh key。
//1.生成ssh key cd ~/.ssh ssh-keygen -t rsa -C 'your email adress’ //2.獲取公鑰,將返回的內容黏貼至github的settings->ssh key cat ~/.ssh/id_rsa.pub //3.獲取私鑰,將返回內容黏貼至jenkins->全局憑據->新增憑證,見下圖 cat ~/.ssh/id_rsa
五、構建項目
在jenkins主頁左上角點擊新建任務->自由風格,配置如下:
1. 先創建springboot項目:
shell腳本如下:
//構建時查詢當前進程是否在執行 //如果正在執行,殺死進程 pid=$(ps x | grep api-1.0-SNAPSHOT.jar | grep -v grep | awk '{print $1}') if "[-n '$pid']" ; then kill -9 $pid fi //進入目錄,執行打包命令 //mvn可以用服務器中的絕對路徑 cd api mvn clean package cd target pwd BUILD_ID=dontKillMe //在后台運行jar包 nohup java -jar api-1.0-SNAPSHOT.jar &
2.創建springboot項目的接口自動化項目:
將項目命名為test,和步驟1圖中構建后需要再操作的項目名稱一致;
填寫github地址,選擇相同的ssh憑證;
構建->執行shell腳本,代碼如下:
cd autoApiTest pwd
//mvn可以用服務器中的絕對路徑
mvn clean package
3.構建項目:
點擊下圖2個地方均可以構建。
由於在deloy上添加了test的構建,因此只要springboot項目運行一次,對應的test自動化項目也會運行一次。篇幅問題,測試報告處理會在以后的文章中專門講如何配置。