linux服務器上配置Jenkins持續(xù)集成測試環(huán)境

先在開發(fā)的項目pom文件中添加依賴:
一、配置插件荐捻,兩個project赵颅,一個是springboot開發(fā)接口項目Chapter114,一個是測試接口項目Chapter15

在Chapter114項目包的pom.xml中寫入:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.course.Application</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerArguments>
                        <extdirs>${project.basedir}/lib</extdirs>
                    </compilerArguments>
                </configuration>
            </plugin>

        </plugins>
    </build>

在Chapter15項目包的pom.xml中寫入:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.7.1</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>
                            ./src/main/resources/TestJenkins.xml
                        </suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
        </plugins>
    </build>

進入Chapter15和Chapter114目錄下丐巫,輸入構建打包命令:mvn clean package
D:\Springboot\AutoTest\Chapter15>mvn clean package
D:\Springboot\AutoTest\Chapter114>mvn clean package
構建成功:


image.png

進入Chapter15\target和Chapter114\target 目錄下,輸入dir命令勺美,查看tar包名稱递胧,后面會用到:


image.png
image.png

環(huán)境配置步驟:
一、安裝VMware
安裝參考地址:
https://blog.csdn.net/qq_40950957/article/details/80467513
密鑰參考地址:
https://blog.csdn.net/felix__h/article/details/82853501

二赡茸、配置linux環(huán)境
參考地址:
https://blog.csdn.net/qq_40950957/article/details/80468030

三缎脾、在linux環(huán)境中安裝jdk
因為debian linux系統(tǒng)默認會裝jdk,輸入命令java -version會看到是openjdk的版本。
但是這個版本不能正常使用占卧,需要安裝sun公司的jdk遗菠,所以要先卸載。

因為用的是debian(unbantu)的系統(tǒng)屉栓,卸載命令要用apt舷蒲。
輸入以下命令卸載所有的openjdk:
sudo apt-get remove openjdk*

apt list 能查出來所有的軟件包以及包名
apt list | grep openjdk 能查出來openjdk開頭的軟件包
當使用"apt autoremove openjdk的包名"命令卸載jdk時會提示要先卸載再安裝jdk耸袜,所以使用"sudo apt-get remove openjdk* "一次性全部卸載友多,再重新安裝jdk。

虛擬機安裝好后會自動連網堤框,所以可以打開瀏覽器域滥,進百度搜索jdk下載jdk:
下載tar.gz包:


image.png

可以查看包下載的路徑,我的虛擬機默認是在/下載目錄中蜈抓。

注:也可以通過遠程傳輸文件的方式從本機下載然后傳到虛擬機启绰,可自行上網查找步驟。

在usr目錄下創(chuàng)建java文件夾并解壓安裝
:# mkdir /usr/java
:# mv /home/thinkit/Downloads/jdk…tar.gz /usr/java/
//給解壓后的包名重命名未jdk1.8
: # mv 解壓后的包名 jdk1.8
:# cd /usr/java/
:# tar -zxvf jdk…tar.gz
在profile中配置環(huán)境變量 ,在最后加入代碼沟使,配置JAVA_HOME,PATH,CLASS_PATH
:# vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.8
export JRE_HOME=/usr/java/jdk1.8/jre
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export MAVEN_HOME=/maven/apache-maven-3.3.9

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:${MAVEN_HOME}/bin
image.png

此圖中有maven的環(huán)境變量的配置委可,可以先不配置,下一章節(jié)安裝完maven后再配置。

保存后在命令行輸入
source /etc/profile 使配置生效
:#java -version
屏幕輸出 java version”1.8.0_191 “…安裝完畢

四着倾、在linux環(huán)境中安裝maven
參考地址:
https://www.cnblogs.com/zf29506564/p/6007906.html

五拾酝、xshell或者secureCRT連接虛擬機服務器
直接連接會報連接失敗,需要修改以下配置:
1卡者、先修改本機網絡設置:


image.png

2蒿囤、進入虛擬機安裝 sudo apt-get install openssh-client
安裝過程中會自動安裝openssh-server所以不用單獨再安裝
安裝成功,啟動服務 sudo /etc/init.d/ssh restart
執(zhí)行命令 netstat -tlp
看到這一行輸出說明ssh-server已經在運行了崇决。
tcp6 0 0 *:ssh : LISTEN -

再次連接虛擬機服務器提示密碼錯誤材诽,還需要修改虛擬機中一個配置:
3、#進入目錄
cd /etc/ssh/
vim sshd_config
找到PermitRootLogin without-password 或者是prohibit-password
將without-password或者是prohibit-password修改為yes
重啟ssh服務
service ssh restart
再用securecrt就能成功登錄

image.png

五恒傻、在linux環(huán)境中安裝tomcat
進入tomcat官網脸侥,選擇tomcat9

image.png

image.png

在linux 根目錄下輸入:
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.zip
下載tomcat成功:
image.png

解壓包:
unzip apache-tomcat-9.0.14.zip
解壓成功:
image.png

進入解壓后的tomcat包中,給包中所有的文件賦予可執(zhí)行權限
cd apache-tomcat-9.0.14/
chmod a+x -R *


image.png

修改tomcat的端口號:
進入配置文件中:
vim conf/server.xml


image.png

image.png

啟動tomcat:
bin/startup.sh


image.png

查看tomcat進程是否啟動:
ps -ef | grep tomcat


image.png

在瀏覽器中輸入http://192.168.44.129:8090/


image.png

六盈厘、安裝Jenkins
在根目錄下安裝jenkins湿痢,
pwd 查看當前目錄
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war 輸入命令下載jenkins包

image.png

輸入命令,指定jenkins端口號:
java -jar jenkins.war -httpPort=8080

指定完成在瀏覽器中輸入:192.168.44.129:8080 進入jenkins啟動頁面


image.png

提示要到文件中查找密碼并復制到輸入框中扑庞。
先回到SecureCRT中按 ctrl+c 退出jenkins服務譬重,進入目錄,查看密碼罐氨,并復制:


image.png

再輸入命令啟動jenkins服務臀规,該命令輸入完后jenkins服務在后臺運行,可以在nohup.out中看日志信息:
nohup java -jar jenkins.war --httpPort=8080 &
image.png

再進入瀏覽器栅隐,輸入密碼塔嬉,點擊下一步:


image.png

選擇自定義插件:


image.png

勾選插件,勾選github租悄,如果公司用的是gitlab也可以勾選gitlab


image.png

勾選這兩個插件后谨究,點擊安裝


image.png
image.png

插件安裝完成:


image.png

點擊下一步,創(chuàng)建用戶:


image.png
image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

進入到Build中輸入執(zhí)行shell的命令:

. /etc/profile
cd Chapter114
cd target
pwd
systemctl restart test
BUILD_ID=dontkillMe
cd ..
pwd
mvn clean package

命令解釋:
. /etc/profile:在執(zhí)行shell前先初始化一下profile配置文件
cd Chapter114泣棋、cd target:執(zhí)行shell時當前目錄是在/root/.jenkins/workspace/deploy/胶哲,要進入Chapter114/target目錄下啟動springboot項目的tar
pwd:查看當前目錄
systemctl restart test:啟動springboot項目的tar包,把命令封裝成系統(tǒng)服務去啟動潭辈。
systemctl restart test 這個命令的配置來源請參考如下文檔:
https://blog.csdn.net/weinichendian/article/details/79071406
BUILD_ID=dontkillMe:不要殺死當前進程鸯屿,為了后面的測試環(huán)境構建打包
cd .. : 回到Chapter114目錄下
pwd:再看一下當前的目錄
mvn clean package:執(zhí)行打包

image.png

image.png

image.png

開發(fā)環(huán)境任務建成功:


image.png

再建一個test的任務:


image.png

image.png

執(zhí)行shell命令為:

cd Chapter15
mvn clean package
result=$(curl -s http://192.168.44.129:8080/job/test/lastBuild/buildNumber --user admin001:123456 )
mkdir /root/apache-tomcat-9.0.14/webapps/ROOT/$result
cp /root/.jenkins/workspace/test/Chapter15/test-output/index.html /root/apache-tomcat-9.0.14/webapps/ROOT/$result/index.html

命令解釋:
cd Chapter15:執(zhí)行shell時當前目錄是在/root/.jenkins/workspace/test/,進入該目錄下構建項目打包
mvn clean package:打包
result=(curl -s http://192.168.44.129:8080/job/test/lastBuild/buildNumber --user admin001:123456 ):獲取構建號 mkdir /root/apache-tomcat-9.0.14/webapps/ROOT/result:在tomcat安裝目錄下創(chuàng)建以構建號命名的目錄
cp /root/.jenkins/workspace/test/Chapter15/test-output/index.html /root/apache-tomcat-9.0.14/webapps/ROOT/$result/index.html:把測試報告復制到tomcat目錄下新建的目錄把敢,構建成功后在瀏覽器中輸入http://192.168.44.129:8090/28/index.html就能看到報錯

image.png

image.png

如果想修改上面的配置信息寄摆,可以選擇任務名稱,旁邊會有一個小三角修赞,然后選擇Configure


image.png

執(zhí)行任務:
執(zhí)行deploy的任務婶恼,構建成功后會自動執(zhí)行test的任務。


image.png

image.png

可以通過看日志看構建過程。

把測試報告放到tomcat服務器中去查看勾邦。
比如測試任務的構建號是12,查看測試報告時在瀏覽器中輸入:
http://192.168.44.129:8090/12/index.html

image.png

問題解決辦法:
1联逻、如果遇到jenkins用戶權限問題,請參考:
https://fableking.iteye.com/blog/1850824 修改配置文件检痰。
按著以上步驟安裝jenkins包归,jenkins的配置文件在/root/.jenkins/config.xml
2、如果想添加用戶權限铅歼,請參考:
https://www.cnblogs.com/kevingrace/p/6019707.html

七公壤、從liunx服務器中下載文件到本地:
下載filezilla,安裝后輸入IP椎椰、用戶名厦幅、密碼、端口號22慨飘,本地就能連上服務器


image.png

八确憨、在本地建數據庫允許別的電腦連接
參考文檔:https://jingyan.baidu.com/article/4b07be3c9f959448b380f302.html
1、配置mysql數據庫中的usr表的host瓤的,改為%
2休弃、配置成功一定要刷新權限

image.png

3、配置防火墻的3306端口

九圈膏、linux環(huán)境訪問本地的數據庫
先打開cmd命令塔猾,查到本地的ip
再到linux中輸入命令:
mysql -h 數據庫服務器ip地址 -P 3306 -u root -p
就能連上數據庫了。

linux擴展知識鏈接:
https://blog.csdn.net/hejunqing14/article/details/48827367
linux擴展知識--ufw防火墻
https://blog.csdn.net/stinkstone/article/details/78910161

注:jenkins中的shell會根據不同的項目而有變化稽坤。

總結:每次進入打開jenkins之前先要做以下幾步:
1丈甸、查看5.1修改本地網絡允許運行其他網絡
2、開啟虛擬機
3尿褪、啟動ssh服務:sudo /etc/init.d/ssh restart
4睦擂、啟動jenkins服務:nohup java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar jenkins.war --httpPort=8080 &
5、進入tomcat目錄啟動tomcat服務:bin/startup.sh
6杖玲、訪問jenkins地址:http://192.168.44.129:8080
7顿仇、訪問tomcat地址:http://192.168.44.129:8090
8、構建成功后訪問測試報告地址:http://192.168.44.129:8090/28/index.html天揖,28是構建號

補充:
jenkins部署時選擇不同的分支:
1夺欲、添加一個參數化構建過程:
git參數設置一個branch參數跪帝,選擇分支


image.png

2今膊、源碼管理中branches to build 指定分支 $branch


image.png

3、構建時選擇的不同的分支去構建
image.png

4伞剑、參數化構建過程點擊高級斑唬,勾選快速過濾,構建時可以輸入分支過濾
image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市恕刘,隨后出現的幾起案子缤谎,更是在濱河造成了極大的恐慌,老刑警劉巖褐着,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坷澡,死亡現場離奇詭異,居然都是意外死亡含蓉,警方通過查閱死者的電腦和手機频敛,發(fā)現死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來馅扣,“玉大人斟赚,你說我怎么就攤上這事〔钣停” “怎么了拗军?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蓄喇。 經常有香客問我发侵,道長,這世上最難降的妖魔是什么妆偏? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任器紧,我火速辦了婚禮,結果婚禮上楼眷,老公的妹妹穿的比我還像新娘铲汪。我一直安慰自己,他們只是感情好罐柳,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布掌腰。 她就那樣靜靜地躺著,像睡著了一般张吉。 火紅的嫁衣襯著肌膚如雪齿梁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天肮蛹,我揣著相機與錄音勺择,去河邊找鬼。 笑死伦忠,一個胖子當著我的面吹牛省核,可吹牛的內容都是我干的。 我是一名探鬼主播昆码,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼气忠,長吁一口氣:“原來是場噩夢啊……” “哼邻储!你這毒婦竟也來了?” 一聲冷哼從身側響起旧噪,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤吨娜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后淘钟,有當地人在樹林里發(fā)現了一具尸體宦赠,經...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年米母,在試婚紗的時候發(fā)現自己被綠了袱瓮。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡爱咬,死狀恐怖尺借,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情精拟,我是刑警寧澤燎斩,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站蜂绎,受9級特大地震影響栅表,放射性物質發(fā)生泄漏。R本人自食惡果不足惜师枣,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一怪瓶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧践美,春花似錦洗贰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至兴革,卻和暖如春绎晃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背杂曲。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工庶艾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人擎勘。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓咱揍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親货抄。 傳聞我的和親對象是個殘疾皇子述召,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內容