日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Azure DevOps+Docker+Asp.NET Core 实现CI/CD(二.创建CI持续集成管道)

發布時間:2023/12/4 asp.net 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Azure DevOps+Docker+Asp.NET Core 实现CI/CD(二.创建CI持续集成管道) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?前言

本文主要是講解如何使用Azure DevOps+Docker 來實現持續集成Asp.NET Core項目(當然 也可以是任意項目).

上一篇:

Azure DevOps+Docker+Asp.NET Core 實現CI/CD(一 .簡介與創建自己的代理池)

覺得有幫助的朋友~可以左上角點個關注,右下角點個推薦

今天我們廢話不多說 直接開始正文?

?

正文

?

昨天我們創建了自己的代理服務器(其實也可以用Azure提供的免費代理服務器,就是要排隊,而且比較慢,限制比較多..)

今天我們來講講如何創建自己的持續集成管道.

今天大致的流程圖如下:

??

1. 創建私有Docker Registry

首先我們需要到自己需要持續集成的服務器上 安裝Docker Registry來獲取我們的docker image

安裝Docker..我這就不說了.主要講講如何安裝Docker Registry

直接拉取registry鏡像:

docker pull registry

查看是否存在鏡像:

?

?

拉取到鏡像后,我們直接Run 命令:

docker run -itd -v /data/registry:/var/lib/registry -p 8082:5000 --restart=always --name registry registry:latest

這里的8082是你映射外網的端口.

運行命令查看是否運行成功:

curl http://127.0.0.1:8082/v2/_catalog

?

這里顯示{}就表示運行成功了,我這個是因為有項目了...所以打碼了..

(注意:正式環境的Docker Registry部署請設置用戶密碼,畢竟是對外的端口)

?

2. 創建Service connections(服務連接)

點擊項目下的配置按鈕:

?

?

找到Service connections

創建一個新的連接, 這里我們選擇上一步創建的Docker Registry

?

?填寫剛剛創建好的Docker Registry地址與密碼.

?

?

這一步就算完成了,下一步我們將來使用它.

?

3. 創建持續集成管道

我們找到Pipelines菜單

?

?點擊創建新的管道

?

?

?

?

選擇自己的項目代碼托管的地方,這里我們選擇上篇文章代碼提交的地方Azure Repos Git

?

選中自己需要集成的項目:

?

配置管道,我們選擇Docker

?

選擇項目中的dockerFile文件位置:

?

我測試項目的DockerFile文件如下,大家可自行參考(純空項目啥也沒有):

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR /app EXPOSE 80 EXPOSE 443FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build RUN mkdir -p /app WORKDIR /src COPY . . RUN dotnet restore "WebApplication1.csproj" RUN dotnet build "WebApplication1.csproj" -c Release -o /appFROM build AS publish RUN dotnet publish "WebApplication1.csproj" -c Release -o /appFROM base AS final WORKDIR /app COPY --from=publish /app . ENTRYPOINT ["dotnet", "WebApplication1.dll"]

?

?編輯配置我們的Pipeline YAML(這里開始,很重要):

?

將默認的Pool名改為我們昨天自行創建配置的Pool

?

修改為

?

?創建持續集成的步驟Steps,點擊右邊的按鈕可以打開圖形化配置界面

?

?這里我們添加三個步驟如下(這是我自己的配置,各位請通過下面的圖形化配置 添加自己的步驟):

steps:- task: Docker@2inputs:containerRegistry: 'TestDocker'command: 'login'- task: Docker@2inputs:containerRegistry: 'TestDocker'repository: '$(Build.Repository.Name)'command: 'build'Dockerfile: '$(Build.SourcesDirectory)/WebApplication1/WebApplication1/Dockerfile'- task: Docker@2inputs:containerRegistry: 'TestDocker'repository: '$(Build.Repository.Name)'command: 'push'

登陸,buid 最后Push我們的鏡像.

?

?

?

?添加好步驟之后,我們直接保存我們的管道.

?

4. 提交代碼查看是否持續集成

我們修改一下首頁的代碼,并提交到Master主干:

?

?可以發現,我們的管道已經監控到了主干的變化,開始運行

?

?

?

?

?可以看到,管道自動push了版本號為42的鏡像.

我們上持續集成服務器看看,有沒有.

?

持續集成成功!

?

后記

我們下一篇來講如何CD?持續部署與持續交付.

總結

以上是生活随笔為你收集整理的Azure DevOps+Docker+Asp.NET Core 实现CI/CD(二.创建CI持续集成管道)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。