網站首頁 編程語言 正文
如何通過Jenkins完成鏡像分發?基本做法是:打包鏡像→上傳鏡像到倉庫→腳本分發。鏡像倉庫也有很多,比如docker hub、Harbor等,今天這一篇講一下基于阿里云鏡像倉庫的操作。
首先,準備一個阿里云鏡像倉庫,個人版是免費的。
然后下載這個插件:
Publish Over SSH
這個插件主要用來遠程登錄服務器并執行腳本。
插件安裝完畢后,系統設置會多出這一項,戳圖里這個按鈕:
然后,把服務器的ip、賬戶、密碼填進去:
配置好以后,最好點測試按鈕試一下,如果沒問題會輸出“Success”
接下來找到之前的工作流,新增構建步驟:
選中剛才新增的server,編寫腳本進行上傳:
echo "==========登錄倉庫==========" docker login --username=阿里云賬戶 --password=阿里云倉庫密碼 registry.cn-shenzhen.aliyuncs.com echo "==========上傳鏡像==========" docker tag mydotnet6 registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest docker push registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest echo "==========清理鏡像==========" docker rmi -f mydotnet6 docker rmi registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest
手動構建一下,去看阿里云倉庫:
鏡像自動上傳,Get~
接下來要從倉庫拉取鏡像并運行,該怎么做呢?想必聰明的你已經知道了——沒錯,還是同樣的流程:添加SSH Server→添加構建步驟→編寫Shell。添加并選擇新的SSH Server,執行這些shell:
echo "==========停止進程==========" docker kill -s KILL mydotnet6 echo "==========刪除容器==========" docker rm mydotnet6 echo "==========刪除鏡像==========" docker rmi -f registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest echo "==========登錄倉庫==========" docker login --username=阿里云賬戶 --password=阿里云倉庫密碼 registry.cn-shenzhen.aliyuncs.com echo "==========拉取新鏡像==========" docker pull registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest echo "==========開始運行==========" docker run -itd -p 5000:80 --restart always --name=mydotnet6 registry.cn-shenzhen.aliyuncs.com/命名空間/倉庫名:latest
然后再次手動觸發構建,去server02查看容器:
訪問一下:
訪問正常。手動構建沒問題,那么自動構建呢?打開項目新增一個NB方法:
Git提交,等待一段時間后直接刷新swagger:
只需要Git上傳代碼就能完成這些,爽不?
自動部署Get~
小結
前文:
.NET微服務架構CI/CD自動構建Jenkins+Gitee
看完這三篇文章,你應該可以成功搭建CICD環境了,然后你會發現它并不難。不過如果你想在生產環境應用它,可能會有些坑。當然,我已經踩過了,而且有些坑還給我的公司造成了損失。既然說到這里,當然不會看著同學們踩坑,所以我還會寫個防踩坑指南,下一篇見。
原文鏈接:https://www.cnblogs.com/muchengqingxin/p/15768330.html
相關推薦
- 2022-09-30 Python使用draw類繪制圖形示例講解_python
- 2023-04-07 C++11學習之多線程的支持詳解_C 語言
- 2023-01-17 MATLAB算法技巧和實現斐波那契數列的解決思路_C 語言
- 2023-09-12 springboot將jar改成war
- 2022-08-14 PyTorch中torch.utils.data.DataLoader簡單介紹與使用方法_pytho
- 2023-04-29 Python如何實用File文件的實現_python
- 2022-03-17 C#實現多文件打包壓縮(.Net?Core)_C#教程
- 2022-09-24 C語言利用面試真題理解指針的使用_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支