ASP.NET Core + Docker +Jenkins 實現持續整合
本文為 docker-compose 方式,但自從 Visual Studio 2017 15.8 版本更新以後,通過VS新增的 Docker 支援預設就只有 Dockerfile 了,所以請參見這篇文章:https://www.cnblogs.com/stulzq/p/9201830.html
準備
我們需要在容器內使用docker-compose,所以我們需要先進容器安裝docker-compose。
通過命令進入容器:
docker exec -it jenkins /bin/bash
1.新建一個ASP.NET Core MVC應用程式:
需要勾選
Docker
支援
2.將其上傳到git:
3.建立Jenkins任務
(1)選擇“新建任務”,輸入任務名稱,選擇“自由風格專案”,然後點選確定:
(2)選擇“原始碼管理”,填入我們的git地址
輸入H/2 * * * *
設定兩分鐘拉取一次
(3)構建環境
勾上 Delete workspace before build start
是設定構建前刪除工作區
勾上 Abort the build if it's stuck
是設定構建的超時時間,如果構建使用的時間超過設定的時間,那麼就認為這次的構建是失敗的。筆者這裡超時設定的是10分鐘
(4)增加一個Execute Shell 指令碼,並填寫以下指令碼內容
#!/bin/bash # 獲取短版本號 GITHASH=`git rev-parse --short HEAD` echo ---------------Remove-Orphans------------------ docker-compose -f ./docker-compose.yml -f ./docker-compose.override.yml -p webapplication6 down --rmi local --remove-orphans echo ------------------Config----------------------- docker-compose -f ./docker-compose.ci.build.yml -p webapplication6 config echo ------------------Build------------------------ docker-compose -f ./docker-compose.ci.build.yml -p webapplication6 up --build echo ---------------Publishing...------------------ docker-compose -f "./docker-compose.yml" -f "./docker-compose.override.yml" -p webapplication6 up -d --build echo ---------------Clear-Images...------------------ clearImagesList=$(docker images -f "dangling=true" -q) if [ ! -n "$clearImagesList" ]; then echo "No need to clean up images." else docker rmi $(docker images -f "dangling=true" -q) echo "clear success." fi echo ---------------Clear-Containers...------------------ docker rm webapplication6_ci-build_1
2018.4.24 加入映象和容器清理命令,所以上面的指令碼和下圖不一樣,以上面的shell指令碼為準
應用儲存,回到專案介面上。點選立即構建進行部署工作
我們可以檢視控制檯輸出:
待構建成功以後訪問url(你的ip:埠)試試效果。
不知道埠的可以通過命令
docker ps
檢視
參考文章:
相關推薦
ASP.NET Core + Docker +Jenkins 實現持續整合
本文為 docker-compose 方式,但自從 Visual Studio 2017 15.8 版本更新以後,通過VS新增的 Docker 支援預設就只有 Dockerfile 了,所以請參見這篇文章:https://www.cnblogs.com/stulzq/p/9201830.html 準備 我
ASP.NET Core + Docker +Jenkins 實現持續集成
before hash net stuck 超時時間 ref shell 腳本 conf cut 1.新建一個ASP.NET Core MVC應用程序: 2.將其上傳到git: 3.建立Jenkins任務 (1)選擇“新建任務”,輸入任務名稱,選擇“自由風格項目”,然後
ASP.NET Core & Docker & Jenkins 零基礎持續整合
一.本系列教程說明 gitserver採用的:Gogs 持續整合工具採用:Jenkins 容器:Docker 二.為什麼不用gitlab? 沒有采用gitlab,因為gitlab比較吃配置,至少得2核4G的配置。採用go語言開發的gogs來代替,搭建方便(不到10分鐘就能安裝完成),資源消耗低,功能也比較強大
.NET Core部署到linux(CentOS)最全解決方案,入魔篇(使用Docker+Jenkins實現持續整合、自動化部署)
通過前面三篇: [.NET Core部署到linux(CentOS)最全解決方案,常規篇](http://blog.rdiframework.net/article/244) [.NET Core部署到linux(CentOS)最全解決方案,進階篇(Supervisor+Nginx)](http://bl
Asp.net Core 使用Jenkins + Dockor 實現持續整合、自動化部署(二):部署
前面又是廢話 我之前寫過: Asp.Net Core 程式部署到Linux(centos)生產環境(一):普通部署 Asp.Net Core 程式部署到Linux(centos)生產環境(二):docker部署 大家可能會有疑問,分散式環境當中的部署還是跟我們在windows一樣,一臺機一臺機的去
Asp.net Core 使用Jenkins + Dockor 實現持續整合、自動化部署(一):Jenkins安裝
寫在前面 其實園子裡很多大佬都寫過,我也是一個搬運工很多東西不是原創的,不過還是想把自己安裝的過程,記錄下來如果能幫到大家的忙,也是一件功德無量的事; 執行環境 centos:7.2 cpu:1核 2G記憶體 1M頻寬 其實用的騰訊雲 安裝jenkins 這裡的jenkins就不從docker
如何在ASP.NET Core應用中實現與第三方IoC/DI框架的整合?
我們知道整個ASP.NET Core建立在以ServiceCollection/ServiceProvider為核心的DI框架上,它甚至提供了擴充套件點使我們可以與第三方DI框架進行整合。對此比較瞭解的讀者朋友應該很清楚,針對第三方DI框架的整合可以通過在定義Startup型別的ConfigureServic
Asp.net Core 使用Jenkins + Dockor 實現持續集成、自動化部署(四):發布與回滾
截圖 begin 更強 else https 分發 集成測試 block 執行 寫在前面 我們以前windows跑.net Framework程序的時候,發布,自己乖乖的替換程序;備份,也是自己一個一個的重命名備份;回滾,發布遇到問題的回滾更是不用說了;運維很是怕我們 這
[Asp.Net Core] - 使用 ViewComponents 實現分頁控件
world asi action span ring easyn eba orm clas 分頁控件(定義分頁參數) ~/ViewComponents/PaginationViewComponent.cs using HelloWorld.DataContext; u
ASP.NET Core 開源GitServer 實現自己的GitHub
date pes name spn isp des odin control validate ASP.NET Core 2.0 開源Git HTTP Server,實現類似 GitHub、GitLab。 GitHub:https://github.com/linezero
Asp.Net Core 2.0實現HttpResponse中繁切換
== sed 存儲 中文簡體 選擇 .net tin contains nts 隨筆背景:因為項目中有個簡單的功能是需要實現中文簡體到繁體的切換,數據庫中存儲的源數據都是中文簡體的,為了省事就想著通過HttpHeader的方式來控制Api返回對應的繁體數據。 實現方式:通過
[轉]使用jenkins實現持續整合
本文轉自:https://www.cnblogs.com/zishengY/p/7170656.html 一、jenkins 介紹 它是一個自動化的週期性的整合測試過程,從檢出程式碼、編譯構建、執行測試、結果記錄、測試統計等都是自動完成的,無需人工干預
ansible+gitlab+Jenkins實現持續整合
ansible簡介: 一、ansible是新出現的自動化運維工具,基於Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程式部署、批量執行命令等功能。 二、ansible是基於模組工作的,本身沒有批
Asp.Net Core 輕鬆學-實現跨平臺的自定義Json資料包
前言 在前後端分離的業務開發中,我們總是需要返回各種各樣的資料包格式,一個良好的 json 格式資料包是我們一貫奉行的原則,下面就利用 Json.Net 來做一個簡單具有跨平臺的序列化資料包實現類。 1. 應用 Json.Net 1.1 首先在專案中引用 NuGet 包 1
使用ML.NET + ASP.NET Core + Docker + Azure Container Instances部署.NET機器學習模型
cat ports sed tar enc convert esp asp truct 本文將使用ML.NET創建機器學習分類模型,通過ASP.NET Core Web API公開它,將其打包到Docker容器中,並通過Azure Container Instances將其
ASP.NET Core Web API實現圖片下載
前端訪問下載圖片API下載圖片。 一、ASP.NET Core Web API程式碼 方案一: [Route("api/[controller]")] [ApiController
ASP.NET Core 專案實戰(持續更新~~~)
一、前言 準備寫這個系列文章的設想開始於今年9月,毫無意外,期間又又又又拖了很長時間,文章主要是為了記錄自己學習使用 ASP.NET Core Web API 與 Vue 建立一個前後端分離的專案的整個過程。嗯,2018年快要結束了,應該能在 .NET Core 3.0 正式版和 Vue 3
jenkins實現持續整合
下載安裝 軟體版本需求: JDK要求1.7以上,ant版本1.9系列都可以,jenkins版本2.33以上。jdk的安裝不再說了,下面只說一下ant和jenkins的安裝和配置: ant是基於java的一款構建工具,通過配置build.xml,讓
ASP.NET Core框架揭祕(持續更新中…)
之前寫了一系列關於.NET Core/ASP.NET Core的文章,但是大都是針對RC版本。到了正式的RTM,很多地方都發生了改變,所以我會將之前釋出的文章針對正式版本的.NET Core 1.0進行改寫。除此之外,我還會撰寫一系列與此相關的文章,這些文章以ASP.NET Core為核心,我個人將它們分成三
Getting Started With ASP.NET Core & Docker
Containers — Docker: IntroductionNow, let’s move on to a brief explanation on what are the main purposes of using containers in software development.What i