Jenkins自動部署Net Core過程圖解
目的:實現(xiàn)把Git測試分支中的代碼發(fā)布到Linux測試環(huán)境
1、安裝Jenkins。
首先需要找一臺服務器安裝Jenkins,我用的是Linux。啟動后直接用IP+端口號訪問就可以看到啟動動的Jenkisn.
Tips:關于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" #修改目錄權限 [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服務器沒在一個服務器上。
(1)Jenkins安裝遠程插件(Publish Over SSH) 系統(tǒng)管理->插件管理
(2)配置遠程服務器鏈接(此處用的是密碼用戶用的rooot)系統(tǒng)管理->系統(tǒng)配置
3、新建一個Jenkins任務(或復制一個已有的任務)
(1)配置Git
構建就可以了
如你的web服務器是用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 "轉到項目工程目錄-----------------------------------------------------------------" cd $WORKSPACE/AoJi.Res/ echo "重新生成------------------------------------開始-----------------------------" dotnet build echo "重新生成------------------------------------完成-----------------------------" echo "項目發(fā)布-------------------------------------開始----------------------------" dotnet publish --output /data/www/resapi.aojiedu.com/ echo "項目發(fā)布-------------------------------------完成----------------------------" echo "轉到項目發(fā)布目錄-----------------------------------------------------------------" cd /data/www/resapi.aojiedu.com/ echo "構建Docker鏡像-------------------------------開始----------------------------------" echo pwd docker build -t resapiimage . echo "構建Docker鏡像-------------------------------完成----------------------------------" echo "運行Docker容器-------------------------------------開始----------------------------" docker run --name=resapi -p 5001:5001 -d resapiimage echo "運行Docker容器------------------------------------完成-----------------------------"
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
調用Mybatis?plus中的saveBatch方法報找不到表的問題
在用Mybatis plus開發(fā)的項目中,用自帶的API批量保存的方法saveBatch操作時,發(fā)現(xiàn)報沒有找到表的錯誤,本文就來詳細的介紹一下解決方法,感興趣的可以了解一下2024-03-03Hibernate中Session.get()方法和load()方法的詳細比較
今天小編就為大家分享一篇關于Hibernate中Session.get()方法和load()方法的詳細比較,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03關于jdk環(huán)境變量配置以及javac不是內部或外部命令的解決
這篇文章主要介紹了關于jdk環(huán)境變量配置以及javac不是內部或外部命令的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01maven中snapshot相關jar無法拉取問題及解決方案(常用方案)
Maven中的SNAPSHOT版本是指正在開發(fā)中的版本,這些版本可能會頻繁地更新,在使用Maven構建項目時,有時會遇到無法拉取SNAPSHOT相關jar的問題,下面給大家分享maven中snapshot相關jar無法拉取問題及解決方案,感興趣的朋友一起看看吧2024-06-06Spring Boot mybatis-config 和 log4j 輸出sql 日志的方式
這篇文章主要介紹了Spring Boot mybatis-config 和 log4j 輸出sql 日志的方式,本文通過實例圖文相結合給大家介紹的非常詳細,需要的朋友可以參考下2021-07-07