Jenkins自動(dòng)部署Net Core過程圖解
目的:實(shí)現(xiàn)把Git測(cè)試分支中的代碼發(fā)布到Linux測(cè)試環(huán)境
1、安裝Jenkins。
首先需要找一臺(tái)服務(wù)器安裝Jenkins,我用的是Linux。啟動(dòng)后直接用IP+端口號(hào)訪問就可以看到啟動(dòng)動(dòng)的Jenkisn.
Tips:關(guān)于Jenkins的配置,為了方便我是用Linux的root用戶登錄的,具體配請(qǐng)自行更改。
#安裝java環(huán)境(Jenkins需要這個(gè)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 #啟動(dòng)Jenkins systemctl start jenkins
2、配置Jenkins
實(shí)現(xiàn)目的:當(dāng)前的Jenkins 是安裝在192.168.11.80上,需要Jenkins把Git 上拉取的代碼發(fā)布到 192.168.0.138上。此時(shí)138上已經(jīng)配置好了supervisorctl。也就是說(shuō)Jenkisn和web服務(wù)器沒在一個(gè)服務(wù)器上。
(1)Jenkins安裝遠(yuǎn)程插件(Publish Over SSH) 系統(tǒng)管理->插件管理

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

3、新建一個(gè)Jenkins任務(wù)(或復(fù)制一個(gè)已有的任務(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)到項(xiàng)目工程目錄-----------------------------------------------------------------"
cd $WORKSPACE/AoJi.Res/
echo "重新生成------------------------------------開始-----------------------------"
dotnet build
echo "重新生成------------------------------------完成-----------------------------"
echo "項(xiàng)目發(fā)布-------------------------------------開始----------------------------"
dotnet publish --output /data/www/resapi.aojiedu.com/
echo "項(xiàng)目發(fā)布-------------------------------------完成----------------------------"
echo "轉(zhuǎn)到項(xiàng)目發(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容器------------------------------------完成-----------------------------"
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 基于Jenkins搭建.NET Core持續(xù)集成環(huán)境過程圖解
- Asp.net Core Jenkins Docker實(shí)現(xiàn)一鍵化部署的實(shí)現(xiàn)
- .Net Core自動(dòng)化部署之利用docker版jenkins部署dotnetcore應(yīng)用的方法
- 如何利用Jenkins + TFS為.Net Core實(shí)現(xiàn)持續(xù)集成/部署詳解
- Centos7+Docker+Jenkins+ASP.NET Core 2.0自動(dòng)化發(fā)布與部署的實(shí)現(xiàn)
- ASP.NET Core+Docker+Jenkins實(shí)現(xiàn)持續(xù)集成的完整實(shí)例
相關(guān)文章
Java使用Graphics2D實(shí)現(xiàn)字符串文本自動(dòng)換行
這篇文章主要為大家詳細(xì)介紹了Java如何使用Graphics2D實(shí)現(xiàn)字符串文本自動(dòng)換行,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
Spring Core核心類庫(kù)的功能與應(yīng)用實(shí)踐分析
本文詳細(xì)介紹了SpringCore核心類庫(kù)的功能、應(yīng)用實(shí)踐和底層原理,SpringCore提供了控制反轉(zhuǎn)(IOC)、依賴注入(DI)、Bean管理以及JNDI、定時(shí)任務(wù)等企業(yè)級(jí)功能,文章通過多個(gè)Java示例展示了SpringCore的應(yīng)用,感興趣的朋友跟隨小編一起看看吧2024-12-12
Java實(shí)現(xiàn)通過時(shí)間獲取8位驗(yàn)證碼
這篇文章主要為大家詳細(xì)介紹了Java如何通過時(shí)間獲取8位驗(yàn)證碼(每?jī)蓚€(gè)小時(shí)生成一個(gè)),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11
詳解Mybatis攔截器安全加解密MySQL數(shù)據(jù)實(shí)戰(zhàn)
本文主要介紹了Mybatis攔截器安全加解密MySQL數(shù)據(jù)實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Java中ReUtil正則表達(dá)式工具庫(kù)的使用
ReUtil是Hutool庫(kù)中的正則表達(dá)式工具類,提供了多種常用正則表達(dá)式操作方法,下面就來(lái)介紹一下ReUtil的使用,具有一定的參考價(jià)值,感興趣的可以了解一下2025-02-02

