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)目的:當(dāng)前的Jenkins 是安裝在192.168.11.80上,需要Jenkins把Git 上拉取的代碼發(fā)布到 192.168.0.138上。此時138上已經(jīng)配置好了supervisorctl。也就是說Jenkisn和web服務(wù)器沒在一個服務(wù)器上。
(1)Jenkins安裝遠(yuǎn)程插件(Publish Over SSH) 系統(tǒng)管理->插件管理

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

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

(1)配置Git




構(gòu)建就可以了

如你的web服務(wù)器是用Docker發(fā)布的,Jenkins的執(zhí)行Shell,你可以參考一下
echo "獲取當(dāng)前容器是否存在-----------------------------------------------------------------"
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 "存在-停止運(yùn)行 然后刪除----------------------開始-----------------"
docker stop $alpha
docker rm $alpha
echo "存在-停止運(yùn)行 然后刪除---------------------完成------------------"
fi
done
echo "獲取當(dāng)前鏡像是否存在-----------------------------------------------------------------"
dockerlist=$(docker images resapiimage:latest -q)
for alpha2 in "$dockerlist";do
if [ "$alpha2" == "" ];then
echo "不存在指定鏡像-------------------------------------------------"
else
echo "存在當(dāng)前指定的鏡像 刪除鏡像--------------開始-----------------------------------"
docker rmi $alpha2
echo "存在當(dāng)前指定的鏡像 刪除鏡像--------------完成-----------------------------------"
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 "運(yùn)行Docker容器-------------------------------------開始----------------------------"
docker run --name=resapi -p 5001:5001 -d resapiimage
echo "運(yùn)行Docker容器------------------------------------完成-----------------------------"
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java使用Graphics2D實現(xiàn)字符串文本自動換行
這篇文章主要為大家詳細(xì)介紹了Java如何使用Graphics2D實現(xiàn)字符串文本自動換行,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
Spring Core核心類庫的功能與應(yīng)用實踐分析
本文詳細(xì)介紹了SpringCore核心類庫的功能、應(yīng)用實踐和底層原理,SpringCore提供了控制反轉(zhuǎn)(IOC)、依賴注入(DI)、Bean管理以及JNDI、定時任務(wù)等企業(yè)級功能,文章通過多個Java示例展示了SpringCore的應(yīng)用,感興趣的朋友跟隨小編一起看看吧2024-12-12
詳解Mybatis攔截器安全加解密MySQL數(shù)據(jù)實戰(zhàn)
本文主要介紹了Mybatis攔截器安全加解密MySQL數(shù)據(jù)實戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01

