日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

1、準備工作

環境

  • 本地: windows、Docker
  • 代碼倉庫:Git
  • 服務器:linux、Docker

前提準備

  1. 創建個有dockerfile文件的dotnet core 3 web項目
    新建一個dotnet 3.0的web項目,在項目文件夾添加Dockerfile文件,內容如下: FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR /App EXPOSE 80 COPY . . ENTRYPOINT ["dotnet", "WebApplication.dll"]
  2. 準備git倉庫,將項目的代碼上傳上去
  3. 構建有dotnet core 3.0 環境的jenkins FROM jenkins/jenkins:lts # 切換root用戶安裝東西 USER root # Show distro information! RUN uname -a && cat /etc/*release RUN apt-get update RUN apt-get install -y curl libunwind8 gettext apt-transport-https RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg RUN mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg RUN sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" > /etc/apt/sources.list.d/dotnetdev.list' RUN apt-get update RUN apt-get install -y dotnet-sdk-3.1 # 切換回來jenkins用戶 USER jenkins

因為jenkins里面是沒有dotnetcore環境的,所以需要本地創建個支持dotnetcore環境的。
找個地方新建文件夾,創建dockerfile文件,內容如上。

  1. build鏡像并運行容器 docker build . -t jenkins_dotnet 這里等待時間會比較長~ # 運行剛剛構建好的容器 docker run -d --name jenkins -p 8080:8080 jenkins_dotnet
  2. 打開jenkins,安裝推薦插件
    打開 localhost:8080 ,可以看到
    docker exec -it jenkins bash dotnet --version cat /var/jenkins_home/secrets/initialAdminPassword 把密碼復制出來登錄,點擊左邊按鈕安裝推薦插件
    這里時間也會比較長,如果有部分安裝失敗了,等剩余的安裝完后點擊重試即可,如果服務器上還沒有docker,現在可以去裝下,裝了的也可以連上服務器,去執行docker pull mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim拉取下dotnet core 3.1的鏡像,等會創建鏡像的時候就會快一點啦 插件安裝完后,會有一些創建管理員和地址配置,搞一下吧。
    如果有插件安裝失敗,點過重試安裝插件的,現在需要docker restart jenkins重啟下應用,然后重新打開localhost:8080使用創建的管理員登錄。

2、搞好了,開始干活

哦,還有些需要安裝的插件 =.=||

需要安裝的插件:

  • SCP publisher
  • Publish Over SSH
  • Environment Injector

進入 系統管理>插件管理->可選插件->輸入插件名稱->勾選需要插件->點擊安裝

安裝完后,設置下這些插件,進入系統管理->系統配置,

  1. SCP publisher設置
    Ctrl + F 搜下 SCP找到SCP repository hosts-SCP sites設置位置,點新增
    HostName: 服務器IP地址
    Port:端口,默認22、
    Root Repository Path:文件存放目錄
    User Name:登錄用戶名
    Password/Passphrase:密碼
  2. Publish Over SSH 設置
    Ctrl + F 搜下 SCP找到SCP repository hosts-SSH Server設置位置,點新增再點高級,勾選上 Use password authentication, or use a different key
    Name:名稱
    Hostname:服務器IP地址
    Username:登錄用戶名
    Remote Directory:遠程目錄
    Passphrase / Password:密碼
    Port:連接端口(默認22)

配置完后別忘記點保存。

創建構建任務第一種:自由風格的軟件項目

點擊新建任務, 選擇構建一個自由風格的軟件項目

本地Docker Jenkins構建dotcore web應用到Linux服務器 Docker上

 

  1. 源碼管理設置
    選擇Git,在Repository URL填入Git倉庫地址
  2. 觸發構建器
    可以配置一些定時構建等,我這里只是測試所以沒有選擇觸發器。
  3. 構建環境 勾選Delete workspace before build starts 勾選Inject environment variables to the build process,存放構建是需要用到的環境變量
  4. 構建- 添加執行shell步驟
    增加構建步驟-執行shell,腳本如下: #切換目錄 cd ./WebApplication #還原nuget包 dotnet restore #編譯 dotnet build #刪除之前發布文件 cd ./bin rm -rf web-publish rm -f web-publish.tar cd .. #發布 dotnet publish -o ./bin/web-publish #刪除配置文件 cd ./bin/web-publish cp ../../Dockerfile . rm -rf config cd .. #壓縮 tar -cvf web-publish.tar web-publish
  5. 構建后步驟 上傳文件到服務器
    增加構建后操作步驟-選擇Publish artifacts to SCP Repository ,填入需要上傳的壓縮文件
    這里文件目錄的基礎目錄是workspace,如果不知道具體的地址,可以先不創建構建后步驟保存下,然后點擊立即構建,等待成功后,點擊工作空間看下文件路徑是怎樣的,比如我的是這樣的:
    得到壓縮文件目錄是WebApplication/bin/web-publish.tar 添加 服務器上要執行的shll命令 步驟 增加構建后操作步驟- 選擇 Send build artifacts over SSH 這里要新增兩個Transfers Set,在第一個Transfers的Exec command輸入創建鏡像腳本: # 工作目錄 WORK_DIR="/root/publish/WebApplication"; cd ${WORK_DIR} # 刪除原有發布文件夾 rm -rf web-publish; # 解壓 tar -xvf web-publish.tar; #刪除文件壓縮包 rm -f web-publish.tar; #切換生成目錄 cd web-publish/ #備份鏡像 #停止容器 docker stop ${DOCKER_CONTAINER_NAME}; #刪除容器 docker rm ${DOCKER_CONTAINER_NAME}; #刪除鏡像 docker rmi $(docker images | grep ${DOCKER_IMAGE_NAME}); #創建鏡像 docker build -t ${DOCKER_IMAGE_NAME} ./; 在第二個Transfers的Exec command,輸入運行容器命令: # 運行容器 docker run -d -p 8001:80 --name ${DOCKER_CONTAINER_NAME} ${DOCKER_IMAGE_NAME} 到這里所有的設置都已經搞好啦,別忘記點擊保存,點擊立即構建 測試一下吧~

創建構建任務第二種:流水線[pipeline](未完成)

TODO:評論有位哥推薦流水線 可視化會好一點,有空再去嘗試下發出來~

成果展示

本地Docker Jenkins構建dotcore web應用到Linux服務器 Docker上

 


本地Docker Jenkins構建dotcore web應用到Linux服務器 Docker上

 


本地Docker Jenkins構建dotcore web應用到Linux服務器 Docker上

 

第一次研究這個,本來以為本地用Docker直接拉取個jenkins會簡單快速一點,但還是花了不少時間~ 如果有什么問題,歡迎評論,大家一起學習解決。

原文地址:https://www.cnblogs.com/xiao24/p/docker_jenkins_dotnetcore3.html#top

分享到:
標簽:Docker
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定