<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      .NET Core部署到linux(CentOS)最全解決方案,入魔篇(使用Docker+Jenkins實現持續集成、自動化部署)

      通過前面三篇:

      .NET Core部署到linux(CentOS)最全解決方案,常規篇

      .NET Core部署到linux(CentOS)最全解決方案,進階篇(Supervisor+Nginx)

      .NET Core部署到linux(CentOS)最全解決方案,高階篇(Docker+Nginx 或 Jexus)

      通過前面三篇文章的介紹,我們已經對.net core多方案部署到linux下有了非常全面的認識,小型團隊已經足夠使用。雖然目前的方案可以實現一鍵部署更新,但是還是需要登陸到linux服務器去執行相應的命令。

      顯示,這不是最優的方案,那么還有沒有更好的方案呢?比如:當我們提交給git倉庫后,自動出發部署命令是不是就更方便了呢?

      答案是肯定的,我們可以借助jenkins來實現。

      互聯網軟件的開發和發布,已經形成了一套標準流程,最重要的組成部分就是持續集成(Continuous integration,簡稱 CI) 。

      1、CI/CD

      ci/cd

      1.1、持續集成

      continuous integration 持續集成是一種軟件實踐,流程為:開發 => 打包 => 集成 => 測試

      ci

      1.2、持續交付

      continuous delivery 持續交付是一種軟件工程手法,流程為:測試 => 發布

      cd

      1.3、持續部署

      continous deployment 持續部署是在持續交付的管道中發布版本給最終用戶的一種軟件工程流程,流程為:發布 => 部署上線

      cd

      2、Jenkins

      Jenkins 是一個基于Java語言開發的CI持續構建工具,主要用于持續、自動的構建/測試軟件項目。它可以執行你預先設定好的設置和腳本,也可以和 Git工具做集成,實現自動觸發和定時觸發器構建。

      image-20210122181431364

      jenkins官網:https://www.jenkins.io/

      jenkins

      2.1、安裝jenkins

      安裝docker-compose

      因為jenkins需要用到本地的docker-compose環境,執行以下命令安裝

      docker exec -it jenkins /bin/bash
      

      進入容器內部安裝docker-compose,安裝步驟去

      1、構建自定義的Dockerfile

      # touch Dockerfile
      # vim Dockerfile
      

      編寫Dockerfile:

      FROM jenkins/jenkins
      
      USER root
      # 清除了基礎鏡像設置的源,切換成阿里云源
      RUN echo '' > /etc/apt/sources.list.d/jessie-backports.list \
        && echo "deb http://mirrors.aliyun.com/debian jessie main contrib non-free" > /etc/apt/sources.list \
        && echo "deb http://mirrors.aliyun.com/debian jessie-updates main contrib non-free" >> /etc/apt/sources.list \
        && echo "deb http://mirrors.aliyun.com/debian-security jessie/updates main contrib non-free" >> /etc/apt/sources.list
      #更新源并安裝缺少的包
      RUN apt-get update && apt-get install -y libltdl7 && apt-get update
      
      ARG dockerGid=999
      
      RUN echo "docker:x:${dockerGid}:jenkins" >> /etc/group 
      
      # 安裝 docker-compose 因為等下構建環境的需要
      RUN curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
      
      RUN chmod +x /usr/local/bin/docker-compose
      

      構建自定義的Dockerfile

      如果不安裝 libltdl7 會導致如下這個問題,原因是jenkins容器內部沒有這個包

      docker: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or directory
      Build step 'Execute shell' marked build as failure
      

      在Jenkins操作宿主的Docker的時候會出現拒絕訪問的問題,其實就是容器的jenkins用戶沒有權限訪問容器外的docker命令,所以 RUN命令 需要把Jenkins用戶加入到Docker用戶組

      2、構建jenkins鏡像

      docker build . -t auto-jenkins
      

      構建jenkins鏡像

      看到以下字樣就構建成功了。

      Successfully built 80a4f61b5b6f
      Successfully tagged auto-jenkins:latest

      構建成功

      3、創建jenkins項目文件的掛載目錄

      mkdir -p /var/jenkins_home
      

      4、修改目錄權限

      這一步必不可少!會導致權限不足報錯

      chown -R 1000 /var/jenkins_home
      

      5、run我們自定義jenkins鏡像 auto-jenkins

      這里我用7080作為對外的jenkins ip(因為我的8080被占用了)

      docker run --name jenkins -p 7080:8080 -p 50000:50000 \
       -v /var/run/docker.sock:/var/run/docker.sock \ 
      -v $(which docker):/bin/docker \ 
      -v /var/jenkins_home:/var/jenkins_home \
       -d auto-jenkins
      

      使用docker ps 查看運行中的容器,如看到如下圖,表示jenkins已正常啟動:

      查看運行中的容器

      6、完成jenkins安裝

      訪問 http://你的服務器ip:7080

      jenkins首次運行

      這里需要安裝密碼,證明這是你的服務器,進入容器:

      docker exec -it jenkins /bin/bash
      cat /var/jenkins_home/secrets/initialAdminPassword
      

      如下圖所示,生成好了密碼;

      image-20210122154143440

      復制密碼后,單擊繼續按鈕。

      安裝推薦的插件

      如圖,點擊"安裝推薦的插件",安裝jenkins常用插件

      安裝推薦的插件

      安裝完畢后,需要創建一個管理員用戶賬號,如下圖所示。

      創建管理員賬號

      提示:安裝過程如果某個組件失敗,可以重試一下。

      重試安裝過程失敗的組件

      到這里,jenkins安裝結果,填寫完管理員信息后,接下來開始jenkins自動化部署之旅。

      jenkins安裝完成

      安裝成功后,Jenkins主界面:

      Jenkins運行成功

      2.2、jenkins配置

      1、創建一個jenkins項目

      新建項目

      新增Item

      構建一個自由風格的軟件項目

      添加任務

      2、源代碼管理

      這里可以指定git分支

      git源碼

      如果項目配置了公鑰,那么在上圖中,我們還需要配置憑證,否則是不能鏈接到git倉庫的,如下圖所示。

      源碼管理憑證添加

      源碼管理

      3、構建觸發器

      這里的是設置輪詢去git拉取代碼,如果代碼有更新就觸發構建操作,H/2 * * * * 是指每2分鐘輪詢拉取一次;

      構建觸發器

      4、構建環境

      Abort the build if it's stuck 是指如果構建過程中卡住了,就終止構建;這里是5是5分鐘,5分鐘超時構建失敗;

      構建環境

      5、添加構建腳本Execute Shell

      添加構建腳本Execute Shell

      填寫構建腳本

      image_version=`date +%Y%m%d%H%M`;
      echo $image_version;
      # 停止之前的docker container
      
      CID=$(docker ps | grep "core50test" | awk '{print $1}')
      echo $CID
      if [ "$CID" != "" ];then
        docker stop $CID
        docker rm $CID
      fi
      
      
      #docker stop core50test;
      # 刪除這個container
      #docker rm core50test;
      # build鏡像并且打上tag
      docker build -t core50test:$image_version .;
      docker images;
      # 把剛剛build出來的鏡像跑起來
      docker run -p 8066:5000 --name core50test -d core50test:$image_version;
      docker logs core50test;
      

      shell

      點擊保存回到core50test項目界面

      core50test項目

      單擊上圖名稱為"core50test"的項目,點擊“立即構建”

      立即構建

      構建歷史

      構建控制臺輸出

      image-20210125160313617

      構建成功,現在打開 http://你的服務器ip:5000,可以看到我們的網站:

      構建成功

      如果網站有任何更改,提交代碼,jenkins會自動拉取代碼,并發布一個新的容器,等等刷新瀏覽器就行了;

      構造狀態

      構建狀態

      Successful藍色:構建完成,并且被認為是穩定的。

      Unstable黃色:構建完成,但被認為是不穩定的。

      Failed紅色:構建失敗。

      Disable灰色:構建已禁用

      構建穩定性

      構建穩定性用天氣表示:晴、晴轉多云、多云、小雨、雷陣雨。天氣越好表示構建越穩定,反之亦然。

      最后借用一張Jenkins的思維導圖供大家參考:

      Jenkins的思維導圖


      一路走來數個年頭,感謝RDIFramework.NET框架的支持者與使用者,大家可以通過下面的地址了解詳情。

      RDIFramework.NET官方網站:http://www.rdiframework.net/

      RDIFramework.NET官方博客:http://blog.rdiframework.net/

      特別說明,框架相關的技術文章請以官方網站為準,歡迎大家收藏!

      RDIFramework.NET框架由海南國思軟件科技有限公司專業團隊長期打造、一直在更新、一直在升級,請放心使用!

      歡迎關注RDIFramework.NET框架官方微信公眾號(微信號:guosisoft),及時了解最新動態。

      使用微信掃描二維碼立即關注

      微信號:**guosisoft**

      posted @ 2021-01-28 11:32  .NET快速開發框架  閱讀(4165)  評論(20)    收藏  舉報
      主站蜘蛛池模板: 国产成人精品永久免费视频| 丰满人妻一区二区三区色| 成人网站免费观看永久视频下载| 国产成人精品午夜福利| 九九九国产精品成人免费视频| 正在播放酒店约少妇高潮| 国产精品成人午夜福利| 九九九国产精品成人免费视频| 国产国产久热这里只有精品| 99久久婷婷国产综合精品青草漫画| 午夜福利精品一区二区三区| 人妻系列中文字幕精品| 亚洲成色av网站午夜影视| 亚洲一区二区三区啪啪| 亚洲天堂在线观看完整版| 天啦噜国产精品亚洲精品| 久久国产乱子精品免费女| 国产精品青草久久久久福利99| 久久精品国产亚洲av熟女| 精品免费国产一区二区三区四区介绍| 国产在线视频精品视频| 日韩中文字幕高清有码| 国产成人高清亚洲综合| 天堂av网一区二区三区| 亚洲一区二区中文av| 色综合伊人色综合网站| 免费人成网站免费看视频| 国产亚洲精品AA片在线播放天| 男人的天堂va在线无码| 91老肥熟女九色老女人| 精品视频国产狼友视频| 久久精品岛国AV一区二区无码| 好紧好滑好湿好爽免费视频| 日韩大片看一区二区三区| 国产成人精品电影在线观看| 成全我在线观看免费第二季| 又爆又大又粗又硬又黄的a片| 久久婷婷大香萑太香蕉AV人| 国产美女高潮流白浆视频| 吉水县| 亚洲AV永久无码嘿嘿嘿嘿|