docker+jenkins+gitee+shell 自動(dòng)化部署基于RuoYi-Cloud的微服務(wù)(詳細(xì)完整版)
一、準(zhǔn)備工作
提示:需基本熟悉docker命令、shell腳本、微服務(wù)部署、git命令、服務(wù)器基本命令、node、maven
服務(wù)器環(huán)境:Linux-EulerOS(華為自主研發(fā)服務(wù)器系統(tǒng),與CentOS基本類似)
安裝組件:docker20.10.19、openjdk1.8.0_191、maven3.8.6、git2.33.0、node16.17.1、npm9.1.2、jenkinsci/blueocean、docker-compose
遠(yuǎn)程工具:Xshell7、Xftp7
二、安裝docker及compose
dokcer安裝:快速安裝Docker詳細(xì)圖文步驟教程
docker-compose安裝:
離線方式
1、到官網(wǎng)下載docker-compose的離線包
下載地址:https://github.com/docker/compose/eleases
2、下載好離線包,把離線包放在指定目錄下就不需要配置環(huán)境變量
mv docker-compose-linux-x86_64 /usr/local/bin/
#修改文件名
mv docker-compose-linux-x86_64 docker-compose
#授權(quán)
sudo chmod +x /usr/local/bin/docker-compose
#查看安裝是否成功
docker-compose -v
在線方式
1、下載
因?yàn)镈ocker Compose存放在GitHub,可能不太穩(wěn)定??梢酝ㄟ^DaoCloud加速下載
curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
您可以通過修改 URL 中的版本,自定義您所需要的版本文件。
授權(quán)
# 將可執(zhí)行權(quán)限應(yīng)用于該二進(jìn)制文件
sudo chmod +x /usr/local/bin/docker-compose
查看
docker-compose --version
卸載
rm /usr/local/bin/docker-compose
三、git、maven、jdk、node安裝
自行搜索教程安裝
四、docker安裝jenkins
1.創(chuàng)建本地映射jenkins資源目錄
mkdir -p /home/docker/jenkins
2.下載啟動(dòng)
沒有jenkins鏡像會(huì)自動(dòng)下載
docker run \
-u root \
-d \
-p 9100:8080 \
--restart always \
--privileged=true \
-v /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.191.b12-0.h23.eulerosv2r7.x86_64:/usr/java/jdk1.8.0_191 \
-v /usr/local/apache-maven-3.8.6:/usr/local/maven \
-v /usr/local/apache-maven-3.8.6/repo:/usr/local/maven_repository \
-v /usr/local/git/:/usr/local/git \
-v /home/docker/jenkins:/var/jenkins_home \
--name jenkins \
jenkinsci/blueocean
3.使用root用戶進(jìn)入容器
docker exec -it --user root jenkins /bin/bash
4.查看復(fù)制密碼
cat /var/jenkins_home/secrets/initialAdminPassword
5.配置
1.訪問你配置的jenkins地址 服務(wù)器ip:9100
2.粘貼復(fù)制的密碼解鎖jenkins
3.創(chuàng)建管理員用戶
4.進(jìn)入全局工具配置
5.配置jdk
查看容器內(nèi)jdk路徑
docker exec -it --user root jenkins /bin/bash
echo $JAVA_HO
6.配置git、maven
根據(jù)啟動(dòng)命令拷貝到容器內(nèi)的路徑
注意:去除自動(dòng)安裝
7.進(jìn)入插件管理
8.參考安裝maven插件、gitee插件、publish over ssh插件
點(diǎn)擊可安裝的—搜索—選擇—安裝
安裝完成后可點(diǎn)擊已安裝的查看
若下載失敗可參考以下方法:
升級(jí)Jenkins
我們安裝的Jenkins可能不是最新版的,那么除了重新安裝最新版的Jenkins,還有一種比較方便的升級(jí)方式。如果我們使用的不是最新版的,Jenkins會(huì)提示我們下載最新版,并給出鏈接
- 點(diǎn)擊鏈接下載一個(gè)jenkins.war文件
- 查看系統(tǒng)信息,獲取jenkins.war的路徑
- 將下載的jenkins.war替換查詢到的文件
- 訪問地址后加/restart,重啟Jenkins
修改插件下載源
替換清華源插件管理->高級(jí)->升級(jí)站點(diǎn),將URL替換為清華源:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
點(diǎn)擊提交,然后立即獲取
替換更新文件中的內(nèi)容網(wǎng)上說的大部分都只有上面那一步,但是實(shí)際上是不生效的,我們需要再修改一個(gè)文件,在jenkins_home目錄下updates/default.json文件,注意這個(gè)文件是在執(zhí)行了上面的步驟才會(huì)生成,默認(rèn)是沒有的。將default.json文件中所有的update.jinkens.io/download替換為mirrors.tuna.tsinghua.edu.cn/jenkins,保存后重啟Jenkins
docker exec -it --user root jenkins /bin/bash
sed -i 's/update.jinkens.io\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/jenkins_home/updates/default.json > result.xml
9.配置gitee、ssh
進(jìn)入系統(tǒng)配置
找到gitee配置
點(diǎn)擊添加 ,選擇gitee令牌,前往獲取私人令牌,填入,id自定義
點(diǎn)擊測(cè)試
找到
點(diǎn)擊新增 配置服務(wù)器器連接 點(diǎn)擊測(cè)試
確認(rèn)無誤后 點(diǎn)擊應(yīng)用 保存
五、創(chuàng)建任務(wù)
點(diǎn)擊配置
選擇git進(jìn)行配置
選擇構(gòu)建觸發(fā)器 視情況自行配置
點(diǎn)擊生成密碼
前往gitee找到倉庫設(shè)置 進(jìn)行webhooks配置
項(xiàng)目打包配置及命令
選擇增加構(gòu)建步驟
工作目錄
進(jìn)入容器內(nèi)容后查看
docker exec -it --user root jenkins /bin/bash
cd /var/jerkins_home/workspace/你定義的項(xiàng)目名
進(jìn)行配置 傳遞**即為所有文件
jenkins.sh
#!/bin/bash
echo "清理已有容器及鏡像資源"
for container in {"gateway","auth","modules-system"}
do
image=docker_${container}
if docker ps | grep ${container} ;then
docker stop ${container}
fi
if docker ps -a | grep ${container};then
docker rm ${container}
fi
if docker images | grep ${image};then
docker rmi ${image}
fi
done
# 拷貝構(gòu)建的jar包到宿主機(jī)
/home/docker/copy.sh
# 重新啟動(dòng)docker項(xiàng)目
/home/docker/deploy.sh modules
copy.sh
cp /home/sw/gateway/target/smartwater-gateway.jar /home/docker/sw/gateway/jar
cp /home/sw/auth/target/smartwater-auth.jar /home/docker/sw/auth/jar
cp /home/sw/modules/system/target/modules-system.jar /home/docker/sw/modules/system/jar
deploy.sh
#開啟端口
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=8848/tcp --permanent
firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --add-port=9201/tcp --permanent
service firewalld restart
docker-compose up -d nacos nginx
docker-compose up -d gateway auth modules-system
微服務(wù)docker部署大致結(jié)構(gòu)
docker-compose.yml以及dockerfile 自行查閱配置文章來源:http://www.zghlxwxcb.cn/news/detail-410555.html
六、總結(jié)
- 安裝必要環(huán)境軟件
- 使用docker啟動(dòng)微服務(wù)測(cè)試
- 安裝jenkins以及完善相關(guān)配置(主要作用是拉取代碼、自動(dòng)構(gòu)建、遠(yuǎn)程及本地執(zhí)行腳本)
- git配置webhooks(主要是推送提交信息)
- 編寫shell腳本(主要是構(gòu)建項(xiàng)目、拷貝文件到指定目錄、重啟項(xiàng)目)
夜色難免荒涼,前行必有曙光。
文章來源地址http://www.zghlxwxcb.cn/news/detail-410555.html
到了這里,關(guān)于docker+jenkins+gitee+shell 自動(dòng)化部署微服務(wù)(基于若依)【詳細(xì)完整版】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!