Jenkins自動部署Net Core過程圖解
目的:實現(xiàn)把Git測試分支中的代碼發(fā)布到Linux測試環(huán)境
1、安裝Jenkins。
首先需要找一臺服務(wù)器安裝Jenkins,我用的是Linux。啟動后直接用IP+端口號訪問就可以看到啟動動的Jenkisn.
Tips:關(guān)于Jenkins的配置,為了方便我是用Linux的root用戶登錄的,具體配請自行更改。
#安裝java環(huán)境(Jenkins需要這個java環(huán)境) sudo yum install java java -version # 安裝Git sudo yum install git git --version #安裝Jenkins sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key yum install jenkins #修改jenkins 的配置信息 vi /etc/sysconfig/jenkins #修改配置 JENKINS_USER="root" JENKINS_PORT:"8080" #修改目錄權(quán)限 [root@localhost sysconfig]# chown -R root:root /var/lib/jenkins [root@localhost sysconfig]# chown -R root:root /var/cache/jenkins [root@localhost sysconfig]# chown -R root:root /var/log/jenkins #啟動Jenkins systemctl start jenkins
2、配置Jenkins
實現(xiàn)目的:當前的Jenkins 是安裝在192.168.11.80上,需要Jenkins把Git 上拉取的代碼發(fā)布到 192.168.0.138上。此時138上已經(jīng)配置好了supervisorctl。也就是說Jenkisn和web服務(wù)器沒在一個服務(wù)器上。
(1)Jenkins安裝遠程插件(Publish Over SSH) 系統(tǒng)管理->插件管理

(2)配置遠程服務(wù)器鏈接(此處用的是密碼用戶用的rooot)系統(tǒng)管理->系統(tǒng)配置

3、新建一個Jenkins任務(wù)(或復制一個已有的任務(wù))

(1)配置Git




構(gòu)建就可以了

如你的web服務(wù)器是用Docker發(fā)布的,Jenkins的執(zhí)行Shell,你可以參考一下
echo "獲取當前容器是否存在-----------------------------------------------------------------"
containerps=$(docker ps -f name=resapi -q)
containerstop=$(docker ps -a -f name=resapi -q)
for alpha in "$containerps";do
if [ "$alpha" == "" ];then
echo "檢查是否存在停止的容器-------------------------------------------------"
for alpha1 in "$containerstop";do
if [ "$alpha1" == "" ];then
echo "不存指定容器-----------------------------------"
else
echo "存在停止了的 然后直接刪除-----------開始------------------"
docker rm $alpha1
echo "存在停止了的 然后直接刪除-----------完成------------------"
fi
done
else
echo "存在-停止運行 然后刪除----------------------開始-----------------"
docker stop $alpha
docker rm $alpha
echo "存在-停止運行 然后刪除---------------------完成------------------"
fi
done
echo "獲取當前鏡像是否存在-----------------------------------------------------------------"
dockerlist=$(docker images resapiimage:latest -q)
for alpha2 in "$dockerlist";do
if [ "$alpha2" == "" ];then
echo "不存在指定鏡像-------------------------------------------------"
else
echo "存在當前指定的鏡像 刪除鏡像--------------開始-----------------------------------"
docker rmi $alpha2
echo "存在當前指定的鏡像 刪除鏡像--------------完成-----------------------------------"
fi
done
echo "開始輸入工作目錄-----------------------------------------------------------------"
echo $WORKSPACE
echo "轉(zhuǎn)到項目工程目錄-----------------------------------------------------------------"
cd $WORKSPACE/AoJi.Res/
echo "重新生成------------------------------------開始-----------------------------"
dotnet build
echo "重新生成------------------------------------完成-----------------------------"
echo "項目發(fā)布-------------------------------------開始----------------------------"
dotnet publish --output /data/www/resapi.aojiedu.com/
echo "項目發(fā)布-------------------------------------完成----------------------------"
echo "轉(zhuǎn)到項目發(fā)布目錄-----------------------------------------------------------------"
cd /data/www/resapi.aojiedu.com/
echo "構(gòu)建Docker鏡像-------------------------------開始----------------------------------"
echo pwd
docker build -t resapiimage .
echo "構(gòu)建Docker鏡像-------------------------------完成----------------------------------"
echo "運行Docker容器-------------------------------------開始----------------------------"
docker run --name=resapi -p 5001:5001 -d resapiimage
echo "運行Docker容器------------------------------------完成-----------------------------"
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
調(diào)用Mybatis?plus中的saveBatch方法報找不到表的問題
在用Mybatis plus開發(fā)的項目中,用自帶的API批量保存的方法saveBatch操作時,發(fā)現(xiàn)報沒有找到表的錯誤,本文就來詳細的介紹一下解決方法,感興趣的可以了解一下2024-03-03
Hibernate中Session.get()方法和load()方法的詳細比較
今天小編就為大家分享一篇關(guān)于Hibernate中Session.get()方法和load()方法的詳細比較,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
關(guān)于jdk環(huán)境變量配置以及javac不是內(nèi)部或外部命令的解決
這篇文章主要介紹了關(guān)于jdk環(huán)境變量配置以及javac不是內(nèi)部或外部命令的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
maven中snapshot相關(guān)jar無法拉取問題及解決方案(常用方案)
Maven中的SNAPSHOT版本是指正在開發(fā)中的版本,這些版本可能會頻繁地更新,在使用Maven構(gòu)建項目時,有時會遇到無法拉取SNAPSHOT相關(guān)jar的問題,下面給大家分享maven中snapshot相關(guān)jar無法拉取問題及解決方案,感興趣的朋友一起看看吧2024-06-06
Spring Boot mybatis-config 和 log4j 輸出sql 日志的方式
這篇文章主要介紹了Spring Boot mybatis-config 和 log4j 輸出sql 日志的方式,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,需要的朋友可以參考下2021-07-07

