第四階段提升
時(shí) ?間:2023年8月23日
參加人:全班人員
內(nèi) ?容:
基于Jenkins部署docker、PHP環(huán)境
目錄
一、環(huán)境部署
(一)實(shí)驗(yàn)環(huán)境,服務(wù)器設(shè)置
(二)所有主機(jī)關(guān)閉防火墻和selinux,修改主機(jī)名
(三)配置git主機(jī)
(四)配置jenkins主機(jī)
(五)Jenkins配置
二、基于Jenkins自動(dòng)打包并部署docker環(huán)境
Tomcat主機(jī)操作:
結(jié)果驗(yàn)證:
三、基于Jenkins自動(dòng)化部署PHP環(huán)境
(一)Git服務(wù)器操作:
(二)Tomcat端操作:
(三)Jenkins操作:
網(wǎng)頁(yè)訪問(wèn)測(cè)試:
四、基于ansible部署php環(huán)境
Jenkins操作:
結(jié)果測(cè)試:
一、環(huán)境部署
(一)實(shí)驗(yàn)環(huán)境,服務(wù)器設(shè)置
IP地址 |
主機(jī)名 |
角色 |
192.168.100.131 |
git |
git服務(wù)器 |
192.168.100.132 |
Jenkins git客戶端 Ansible |
jenkins服務(wù)器 |
192.168.100.133 |
tomcat,docker,httpd |
web服務(wù)器 |
(二)所有主機(jī)關(guān)閉防火墻和selinux,修改主機(jī)名
git主機(jī)
Jenkins主機(jī)
web主機(jī)
(三)配置git主機(jī)
1、# rpm安裝安裝依賴關(guān)系:1和2都安
[root@gitclient ~]# yum -y install curl-devel expat-devel gettext-devel ?openssl-devel zlib-devel
2、# 編譯安裝—服務(wù)端和客戶端,訪問(wèn)https://mirrors.edge.kernel.org/pub/software/scm/git/下載所需要的版本
[root@gitclient ~]# tar xf git-2.22.0.tar.gz -C /usr/src/
[root@gitclient ~]# cd /usr/src/git-2.22.0/
[root@git git-2.22.0]# make configure
[root@git git-2.22.0]# ./configure --prefix=/usr/local/git && make && make install
????????Ps備注:如上圖,出現(xiàn)了/bin/sh: autoconf: 未找到命令make: *** [configure] 錯(cuò)誤 127,怎么辦?
根據(jù)提示安裝autoconf
[root@git git-2.22.0]# yum -y install autoconf
再重新配置編譯安裝!
[root@git git-2.22.0]# ln -sf /usr/local/git/bin/git /usr/bin/
[root@git git-2.22.0]# git --version
3、#在git服務(wù)端配置用戶
[root@git ~]# useradd git
[root@git ~]# echo "123456" | passwd --stdin git
4、創(chuàng)建本地倉(cāng)庫(kù)probe
[root@git ~]# su - git
[git@git ~]$ mkdir probe.git
[git@git ~]$ cd probe.git
[git@git probe.git]$ git --bare init
[git@git probe.git]$ exit
5、克隆項(xiàng)目代碼同步到自己創(chuàng)建的倉(cāng)庫(kù)中
[root@git ~]# rz #上傳psi-probe.tar.gz
[root@git ~]# tar xf psi-probe.tar.gz
[root@git ~]# git clone git@192.168.100.131:/home/git/probe.git
[root@git ~]# cp -rf psi-probe/* probe/
[root@git ~]# cd probe/
[root@git probe]# git add .
[root@git probe]# git config --global user.email "13363571949@163.com"
[root@git probe]# git config --global user.name "huyang"
[root@git probe]# git config --list
[root@git probe]# git commit -m "all probe"
[root@git probe]# git push origin master
(四)配置jenkins主機(jī)
1、源碼安裝jenkins
[root@jenkins ~]#rm -rf /usr/bin/java
[root@jenkins ~]#tar xf jdk-17_linux-x64_bin.tar.gz
[root@jenkins ~]#mv jdk-17.0.8?/usr/local/java
[root@jenkins ~]#vim /etc/profile
[root@jenkins ~]#source /etc/profile
[root@jenkins ~]#java -version
[root@jenkins ~]# rpm -ivh jenkins-2.401-1.1.noarch.rpm
2、啟動(dòng)jenkins
[root@jenkins ~]# jenkins start?(保持打開狀態(tài))
密碼如圖:
[root@jenkins ~]# netstat -lnpt | grep :8080
3、web配置
瀏覽器訪問(wèn)測(cè)試: http://192.168.100.132:8080
輸入秘鑰:
解鎖Jenkins,密碼從命令行中獲取
?輸入授權(quán)密碼,然后點(diǎn)擊下一步
選擇安裝推薦的插件
自動(dòng)下載插件(狀態(tài)全綠下一步)
狀態(tài)有紅色,重頭再安裝
狀態(tài)有紅色,重啟后也可進(jìn),但是有插件安裝錯(cuò)誤,會(huì)影響
全綠之后操作:
創(chuàng)建管理員用戶,選擇使用admin賬戶繼續(xù)!
實(shí)例配置,保存并完成!
點(diǎn)擊開始使用
可以使用了!
(五)Jenkins配置
1、安裝 Jenkins 必要插件
在 Jenkins 首頁(yè)中,點(diǎn)擊左側(cè)的Manage Jenkins>>Manage Plugins>>可選插件,在過(guò)濾搜索框中輸入要安裝的 Publish Over SSH?、 Maven Integration 插件,并勾中其左側(cè)的復(fù)選框,點(diǎn)擊“直接安裝”即可開始插件安裝操作。
查看:
頁(yè)面最下方:
2、添加驗(yàn)證憑據(jù)
憑證這里添不添加都可以,這個(gè)試驗(yàn)不牽扯到憑證
如圖操作:
如圖操作:
如圖操作:
如圖操作:
如圖操作:
在憑據(jù)頁(yè)面中,點(diǎn)擊“system”跳轉(zhuǎn)到“系統(tǒng)”頁(yè)面。點(diǎn)擊左側(cè)導(dǎo)航欄中“添加域”,
跳轉(zhuǎn)到“添加域”頁(yè)面。在該頁(yè)面創(chuàng)建域名為“web”并點(diǎn)擊“ok”完成配置。
“添加憑據(jù)”
點(diǎn)擊“+Add Credentials”
填寫以上數(shù)據(jù)后,點(diǎn)擊“確定”就可以查看到新增的遠(yuǎn)程 web 主機(jī)賬號(hào),如下圖:
3、添加 Publish Over SSH 遠(yuǎn)程主機(jī)
在Jenkins 首頁(yè)中點(diǎn)擊“Manage Jenkins”->“Configure System”->“Publish over SSH”->“SSH Servers”->“增加”選項(xiàng)按鈕,添加 SSH 遠(yuǎn)程主機(jī):
如圖所示,輸入 Name、Hostname、Username 等必要信息后,點(diǎn)擊“高級(jí)”選項(xiàng)按鈕->勾選“Use Password authentication,or use a different key”選項(xiàng)->輸入“遠(yuǎn)程主機(jī)登錄密碼”->“Test Configuration”測(cè)試遠(yuǎn)程主機(jī)配置。測(cè)試遠(yuǎn)程主機(jī)配置成功后點(diǎn)擊“保存”按鈕即可。
4、配置 Maven、JDK、Git 環(huán)境
在 Jenkins 首頁(yè)中點(diǎn)擊“Manage Jenkins”->“Global Tool Configuration”->“JDK” ->新增“JDK”,設(shè)置 JDK 別名為”JDK17”。去掉“Install automatically”選項(xiàng),設(shè)置 “JAVA_HOME”為本案例中 JDK 實(shí)際安裝路徑。
/usr/local/java
5、在Jenkins安裝maven
[root@jenkins ~]# tar xf apache-maven-3.5.0-bin.tar.gz
[root@jenkins ~]# mv apache-maven-3.5.0 /usr/local/maven-3.5.0
6、為maven更換阿里云鏡像站
[root@jenkins ~]# vim /usr/local/maven-3.5.0/conf/settings.xml
#刪除兩個(gè)<mirrors>中的所有東西,大概12行,把下面的阿里云鏡像站添加到兩個(gè)<mirrors>中
????<mirror>
????????<id>nexus-aliyun</id>
????????<mirrorOf>central</mirrorOf>
????????<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
最后達(dá)到的效果
在“Global Tool Configuration”配置界面中找到 Maven 配置選項(xiàng),然后點(diǎn)擊“新增 Maven”并設(shè)置別名為“maven3.5.0”。
7、Git 配置
[root@jenkins ~]# which git
/usr/bin/git
以上全局基本配置完畢后,點(diǎn)擊保存即可完成。
二、基于Jenkins自動(dòng)打包并部署docker環(huán)境
Tomcat主機(jī)操作:
1、安裝docker-ce
[root@tomcat ~]# mkdir /data
在192.168.100.133 機(jī)器上,構(gòu)建 tomcat基礎(chǔ)鏡像。在構(gòu)建基礎(chǔ)鏡像之前需要先安裝 Docker 與 JDK。
[root@tomcat ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@tomcat?~]# yum -y install yum-utils device-mapper-persistent-data lvm2
[root@tomcat?~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@tomcat?~]# ls /etc/yum.repos.d/
[root@tomcat?~]# yum -y install docker-ce
[root@tomcat?~]# systemctl start docker
[root@tomcat?~]# systemctl enable docker
[root@tomcat?~]# docker version
2、阿里云鏡像加速器
[root@tomcat ~]# cat << END > /etc/docker/daemon.json
{
????????"registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]
}
END
[root@tomcat ~]# systemctl daemon-reload
[root@tomcat ~]# systemctl restart docker
下載centos:7鏡像
[root@tomcat?~]# docker pull?centos:7
[root@tomcat?~]# docker images
3、構(gòu)建tomcat 基礎(chǔ)鏡像?
[root@tomcat ~]# mkdir docker-tomcat
[root@tomcat ~]# cd docker-tomcat
[root@tomcat docker-tomcat]# ls
[root@tomcat docker-tomcat]# cat Dockerfile
[root@tomcat?docker-tomcat]# docker build -t tomcat:v1 ?.
[root@tomcat?docker-tomcat]# docker images
4、構(gòu)建一個(gè)Maven項(xiàng)目
在以上配置完成后,回到 Jenkins 首頁(yè),選擇“新建任務(wù)item”,然后輸入一個(gè)任務(wù)名稱 “probe-docker”,并選擇“Maven project”配置項(xiàng),點(diǎn)擊當(dāng)前頁(yè)面下方的“確定”按鈕。
在點(diǎn)擊“確定”按鈕,選擇“源碼管理”并選中“Git”,設(shè)置“Repository URL”地址。
git@192.168.100.131:/home/git/probe.git
選擇“Build”-> clean package -Dmaven.test.skip=true
在上一步后面選擇“構(gòu)建后操作”中的“Send build artfacts over SSH”選項(xiàng)并進(jìn)行。
而后輸入下列內(nèi)容:
name:web
Exec command:
scp 192.168.100.132:/root/.jenkins/workspace/probe-docker/psi-probe-web/target/probe.war /data/
docker run -itd --name tomcat-test -p 8090:8080 -v /data:/usr/local/apache-tomcat-8.5.40/webapps tomcat:v1
以上全部配置完成后,點(diǎn)擊保存即可。然后點(diǎn)擊剛才創(chuàng)建的工程任務(wù)“probe-docker”->“ Build new”直至任務(wù)構(gòu)建完成。開始構(gòu)建過(guò)程中可以點(diǎn)擊進(jìn)度條查看
????????可以看到此工程任務(wù)已構(gòu)建成功,并且在構(gòu)建后,創(chuàng)建用于docker項(xiàng)目的 Docker Web 環(huán)境命令也執(zhí)行成功。
結(jié)果驗(yàn)證:
[root@tomcat ~]# ls /data/
[root@tomcat ~]# docker ps -a
網(wǎng)頁(yè)訪問(wèn)測(cè)試:
http://192.168.100.133:8090/probe/
三、基于Jenkins自動(dòng)化部署PHP環(huán)境
(一)Git服務(wù)器操作:
1、準(zhǔn)備git:
[root@git ~]# su - git
[git@git ~]$ mkdir php.git
[git@git ~]$ cd php.git
[git@git php.git]$ git --bare init
[git@git php.git]$ exit
2、上傳代碼到倉(cāng)庫(kù)
[root@git ~]# git clone git@192.168.200.111:/home/git/php.git
3、配置測(cè)試頁(yè)
[root@git ~]# cd php/
[root@git php]# cat << EOF > index.php
<?php
phpinfo();
?>
EOF
4、提交本地和遠(yuǎn)端倉(cāng)庫(kù)
[root@git php]# git add .
[root@git php]# git commit -m "all"
[root@git php]# git push origin master
git@192.168.200.111's password:
(二)Tomcat端操作:
1、部署web主機(jī)環(huán)境
[root@tomcat?~]# yum install -y httpd mariadb-server mariadb mariadb-devel php php-mbstring php-mysql php-bcmath php-gd php-xmlrpc php-ldap php-xml libevent libevent-devel net-snmp net-snmp-devel libxml2 libxml2-devel ntpdate
[root@web ~]# systemctl start httpd
[root@web ~]# systemctl start mariadb
訪問(wèn)測(cè)試:
192.168.100.133:80
(三)Jenkins操作:
1、Jenkins主機(jī)將密鑰發(fā)布到web主機(jī)
[root@jenkins ~]# su -s /bin/bash jenkins
bash-4.2$ ssh-keygen
bash-4.2$ ssh-copy-id root@192.168.100.133
2、基于rsync部署
創(chuàng)建一個(gè)Freestyle project
選擇:git-->輸入Repository URL
git@192.168.100.131:/home/git/php.git
在build steps輸入下列內(nèi)容,然后點(diǎn)擊確定!
rsync -avz --delete * root@192.168.100.133:/var/www/html/
點(diǎn)擊build now,而后查看控制臺(tái)輸出
查看控制臺(tái)輸出
結(jié)果驗(yàn)證:
[root@web ~]# ls /var/www/html/
[root@web ~]# cat /var/www/html/index.php
網(wǎng)頁(yè)訪問(wèn)測(cè)試:
http://192.168.100.133
四、基于ansible部署php環(huán)境
Jenkins操作:
1、下載ansible軟件
[root@jenkins ~]# rpm -ivh epel-release-latest-7.noarch.rpm
[root@jenkins ~]# yum -y install ansible
[root@jenkins ~]# vim /etc/ansible/hosts
2、修改jenkins運(yùn)行用戶
[root@jenkins ~]# vim /etc/sysconfig/jenkins
[root@jenkins ~]# killall -9 java
[root@jenkins ~]# jenkins?start
3、添加Ansible插件
選擇manage jenkins-->plugins
搜索安裝ansible plugin
4、新建一個(gè)任務(wù),選擇item-->freestyle project
命名為php-ansible
5、向git倉(cāng)庫(kù)和web端發(fā)送密鑰
[root@jenkins ~]# ssh-keygen
[root@jenkins ~]# ssh-copy-id git@192.168.100.131
[root@jenkins ~]# ssh-copy-id root@192.168.100.133
選擇:git-->輸入Repository URL
git@192.168.100.131:/home/git/php.git
輸入內(nèi)容:
Host patten:web
Inventory:選擇file or host list
輸入:/etc/ansible/hosts
Module:synchronize
Module arguments or command to execute:
????src=${WORKSPACE} dest=/var/www/html rsync_opts=--exclude=.git最后,點(diǎn)擊“保存”
點(diǎn)擊build now,而后查看控制臺(tái)輸出
查看控制臺(tái)輸出
結(jié)果測(cè)試:
[root@tomcat ~]# ls /var/www/html/
[root@tomcat ~]# ls /var/www/html/php-ansible/
[root@tomcat ~]#
cat????/var/www/html/php-ansible/index.php
網(wǎng)頁(yè)訪問(wèn)測(cè)試:
http://192.168.100.133/php-ansible/文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-675124.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-675124.html
到了這里,關(guān)于基于Jenkins自動(dòng)打包并部署docker、PHP環(huán)境,ansible部署-------從小白到大神之路之學(xué)習(xí)運(yùn)維第86天的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!