jenkins持續(xù)自動(dòng)化發(fā)布、集成實(shí)踐
1. jenkins部署環(huán)境
1-1.服務(wù)器準(zhǔn)備
| hostname | IP地址 | 安裝包 |
|---|---|---|
| jenkins-node03 | 10.1.1.13 | JDK/JENKINS |
| nginx-node04 | 10.1.1.14 | TOMCAT/JDK |
1-2.關(guān)閉防火墻
##臨時(shí)關(guān)閉firewalld防火墻,重啟服務(wù)器失效 systemctl stop firewalld ##永久關(guān)閉firewalld防火墻,必須重啟服務(wù)器生效 systemctl disable firewalld
1-3.主機(jī)名解析
echo 10.1.1.13 jenkins-node03 >>/etc/hosts echo 10.1.1.14 nginx-node04 >>/etc/hosts
1-4.配置dns server服務(wù)器IP地址
echo nameserver 202.96.128.86 >>/etc/resolv.conf
1-5.關(guān)閉selinux
##臨時(shí)關(guān)閉,服務(wù)器重啟失效 setenforce 0 ##永久關(guān)閉,服務(wù)器重啟生效,與setenforce一起使用,就可以不用重啟服務(wù)器 sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config ##查看當(dāng)前selinux狀態(tài) getenforce
2. 部署tomcat+Java(10.1.1.14)
2-1.下載、解壓、安裝tomcat
wget http://us.mirrors.quenda.co/apache/tomcat/tomcat-8/v8.5.50/src/apache-tomcat-8.5.50-src.tar.gz tar -xf apache-tomcat-8.5.50-src.tar.gz mv apache-tomcat-8.5.50 /usr/local/apache-tomcat-8.5.50 ln -s /usr/local/apache-tomcat-8.5.50 /usr/local/apache-tomcat
2-2.下載安裝jdk
##這下載有點(diǎn)麻煩,需要注冊(cè)才能下載 wget https://download.oracle.com/otn/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz?AuthParam=1577439692_6cc578b66f85128ed13aa7d02d86cf16 ##解壓 tar -xf jdk-8u101-linux-x64.tar.gz ##把jdk包放在/usr/local/目錄下,這是個(gè)人習(xí)慣。(一看目錄就知道是哪個(gè)版本) mv jdk1.8.0_101 /usr/local/jdk1.8.0_101 ln -s /usr/local/jdk1.8.0_101 /usr/local/java
2-3.java環(huán)境配置
echo 'export JAVA_HOME=/usr/local/java/' /etc/profile echo 'export PATH=$PATH:$JAVA_HOME/bin' >>/etc/profile tail /etc/profile
2-4.查看java版本
java -version
2-5.修改Apache-tomcat配置
修改/usr/local/apache-tomcat/conf/tomcat-users.xml
vim /usr/local/apache-tomcat/conf/tomcat-users.xml tail /usr/local/apache-tomcat/conf/tomcat-users.xml ##添加以下內(nèi)容,注意一定要在</tomcat-users>以內(nèi) ##--------------------------------------------- <role rolename="admin"/> <role rolename="admin-gui"/> <role rolename="admin-script"/> <role rolename="manager"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/><user name="admin" password="qaz123" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" /> #-------------------------------------------------------- ##user name="admin":管理員admin ##password="qaz123":管理員密碼 ##roles:角色 </tomcat-users>
修改/usr/local/tomcat8/webapps/manager/META-INF/context.xml
vim /usr/local/tomcat8/webapps/manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10.1.1.*" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
##allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10.1.1.*":允許的主機(jī)IP段或者IP地址,多個(gè)用“|”分隔
2-6.瀏覽器登錄10.1.1.14:8080

2-7.點(diǎn)擊manager_webapp進(jìn)入后臺(tái)

后臺(tái)界面,jenkins可以通過 "應(yīng)用程序"欄中的“命令”對(duì)tomcat操作
3. 部署jenkins+Java(10.1.1.13)
3-1.安裝jenkins(java安裝就不說了,上面有)
官方文檔安裝方法:https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions可以參考
##配置jenkins.repo源 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo ##安裝key rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key ##如果你現(xiàn)在就yum install -y jenkins安裝下載很慢,必須得配置國內(nèi)源,https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/這個(gè)清華大學(xué)yum源 ##修改jenkins.repo源,這個(gè)僅供參考 cat /etc/yum.repos.d/jenkins.repo [jenkins] name=Jenkins-stable baseurl=https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/ gpgcheck=1 ##安裝jenkins yum install -y jenkins
3-2.啟動(dòng)jenkins.service
systemctl start jenkins.service
Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and"journalctl -xe" for details.
##發(fā)現(xiàn)報(bào)錯(cuò),蛋痛。。按提示操作
systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2019-12-27 16:42:13 CST; 12s ago
Docs: man:systemd-sysv-generator(8)
Process: 22089 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)
Dec 27 16:42:13 jenkins-node03 systemd[1]: Starting LSB: Jenkins Automation Server...
Dec 27 16:42:13 jenkins-node03 runuser[22094]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Dec 27 16:42:13 jenkins-node03 jenkins[22089]: Starting Jenkins bash: /usr/bin/java: No such file or directory
Dec 27 16:42:13 jenkins-node03 runuser[22094]: pam_unix(runuser:session): session closed for user jenkins
Dec 27 16:42:13 jenkins-node03 jenkins[22089]: [FAILED]
Dec 27 16:42:13 jenkins-node03 systemd[1]: jenkins.service: control process exited, code=exited status=1
Dec 27 16:42:13 jenkins-node03 systemd[1]: Failed to start LSB: Jenkins Automation Server.
Dec 27 16:42:13 jenkins-node03 systemd[1]: Unit jenkins.service entered failed state.
Dec 27 16:42:13 jenkins-node03 systemd[1]: jenkins.service failed.
##發(fā)現(xiàn)沒起來,報(bào)錯(cuò)找不到j(luò)ava命令路徑
##解決方法:
which java
/usr/local/java/bin/java
vi /etc/init.d/jenkins
##找到下面的內(nèi)容
# Search usable Java as /usr/bin/java might not point to minimal version required by Jenkins.
# see http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
##/usr/bin/java改為你java的路徑/usr/local/java/bin/java
# /usr/bin/java
/usr/local/java/bin/java
systemctl start jenkins
Warning: jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.##有警告,按照提示操作
systemctl daemon-reload
##起來了--哈哈
ps -ef |grep jenkins
jenkins 22133 1 99 16:46 ? 00:00:33 /usr/local/java/bin/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
3-3.瀏覽器登錄10.1.1.13:8080

需要administrator password 去提示的路徑復(fù)制密碼
cat /var/lib/jenkins/secrets/initialAdminPassword c0987be1629e404aa2b3d5f6bb25aef6
接下來按照提示操作,就OK了
4.Java項(xiàng)目配置(Jenkins服務(wù)器)

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Java本地部署jenkins持續(xù)集成的實(shí)現(xiàn)
- Docker部署Jenkins持續(xù)集成(CI)工具的實(shí)現(xiàn)
- CentOS服務(wù)器部署Docker+Jenkins持續(xù)集成環(huán)境的方法
- 用Jenkins+Docker+Maven+Git實(shí)現(xiàn)持續(xù)集成(超詳細(xì))
- Docker搭建持續(xù)集成平臺(tái)Jenkins的最簡(jiǎn)教程分享
- docker+jenkins+gitee配置持續(xù)集成部署方式
- Pyhton自動(dòng)化測(cè)試持續(xù)集成和Jenkins
- jenkins+docker+nginx+nodejs持續(xù)集成部署vue前端項(xiàng)目
相關(guān)文章
Spring Security6中@PostAuthorize注解的具體使用
@PostAuthorize是Spring Security提供的方法級(jí)安全注解,用于在方法執(zhí)行后根據(jù)返回結(jié)果進(jìn)行權(quán)限校驗(yàn),本文就來詳細(xì)的介紹一下 @PostAuthorize注解的使用,感興趣的可以了解一下2025-10-10
使用Java自帶的mail?API實(shí)現(xiàn)郵件發(fā)送功能全過程
電子郵件的應(yīng)用非常廣泛,例如在某網(wǎng)站注冊(cè)了一個(gè)賬戶,自動(dòng)發(fā)送一封歡迎郵件,通過郵件找回密碼,自動(dòng)批量發(fā)送活動(dòng)信息等,下面這篇文章主要給大家介紹了關(guān)于如何使用Java自帶的mail?API實(shí)現(xiàn)郵件發(fā)送功能的相關(guān)資料,需要的朋友可以參考下2023-04-04
kafka運(yùn)維consumer-groups.sh消費(fèi)者組管理
這篇文章主要為大家介紹了kafka運(yùn)維consumer-groups.sh消費(fèi)者組管理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
java中ThreadPoolExecutor常識(shí)匯總
這篇文章主要介紹了java中ThreadPoolExecutor常識(shí)匯總,線程池技術(shù)在并發(fā)時(shí)經(jīng)常會(huì)使用到,java中的線程池的使用是通過調(diào)用ThreadPoolExecutor來實(shí)現(xiàn)的,需要的朋友可以參考下2019-06-06

