Docker on 華為云DevCloud

      網友投稿 755 2025-04-03

      1?文章目的


      本文主要幫助想要或者正在使用容器部署服務的用戶,如果將他們的應用部署通過軟件開發服務部署在華為云上。

      2?概述

      2.1?Docker

      Docker是一個開源的引擎,可以輕松的為任何應用創建一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機)、bare metal、OpenStack 集群和其他的基礎應用平臺。

      2.2?華為軟件開發服務DevCloud

      官網入口:http://www.huaweicloud.com/devcloud/

      華為軟件開發服務(DevCloud)是集華為近30年研發實踐,前沿研發理念,先進研發工具為一體的一站式云端DevOps平臺,面向開發者提供包括項目管理,代碼托管,流水線,代碼檢查,編譯構建,測試管理,移動應用測試,部署,發布,CloudIDE,研發協同等基礎功能的研發工具服務。覆蓋軟件開發全生命周期,支持多種主流研發場景,讓軟件開發更高效。

      應用軟件開發服務的流水線功能可以幫助開發者實現一鍵自動化開發部署,其中需要應用到項目管理,代碼倉庫,代碼檢查,編譯構建,發布,部署等功能。

      項目管理

      軟件開發服務提供基于Scrum和精簡兩種模式的項目管理服務,用戶可以在項目管理中進行項目規劃,工作項跟蹤,文檔及百科管理等工作。并可以通過預定義好的燃盡圖表等常用報表,對項目進行實時監控,及時掌握項目進度,提前管控風險。

      代碼倉庫

      在進行開發工作過程中,在華為軟件開發服務的代碼倉庫中,新建一個云端代碼倉庫,然后通過本地git端將代碼與云端托管倉庫同步,通過本地IDE進行開發

      代碼檢查

      開發任務進程中,隨時可以進入到華為軟件開發服務的代碼檢查功能中,進行代碼檢查,新建代碼檢查任務,選擇與項目匹配的代碼檢查規則進行代碼檢查。

      在問題列表中查看代碼檢查結果,針對問題描述對問題進行修改,修改完畢后,再次執行代碼檢查任務,查看任務執行結果,形成代碼質量改進閉環。

      編譯構建

      通過代碼檢查任務,將代碼問題都修復完畢后,我們開始進行編譯構建工作。

      本項目中,前端后端均采用云端編譯構建進行打包構建,同時方便后續將代碼直接應用自動化部署功能部署到云服務器中。

      發布

      華為軟件開發服務提供4種類型發布倉庫,前兩種是遠程Maven私倉,用于Maven類型構建過程中第三方依賴包的管理。第三個倉庫是mirror鏡像倉,鏡像了一些構建過程中經常依賴的中央倉到后臺,提升構建速度,體現云端構建的優勢。我們本次demo中應用最后一個編譯構建倉庫,作為生成的軟件包的版本歸檔管理倉庫。

      部署

      當代碼構建打包成功并歸檔到發布倉庫后,可以進行部署工作。部署任務一共分為三部分工作,分別是主機授權,編輯模板,執行部署。

      2.3?微服務云應用平臺 ServiceStage

      微服務云應用平臺是面向企業的一站式PaaS平臺服務,提供應用云上托管解決方案,幫助企業簡化部署、監控、運維和治理等應用生命周期管理問題;提供微服務框架,兼容主流開源生態,不綁定特定開發框架和平臺,幫助企業快速構建基于微服務架構的分布式應用

      2.4?華為云服務

      彈性云服務器(Elastic Cloud Server)是一種可隨時自助獲取、可彈性伸縮的云服務器,幫助用戶打造可靠、安全、靈活、高效的應用環境,確保服務持久穩定運行,提升運維效率。MySQL是全球最受歡迎的開源數據庫之一,性能卓越,搭配LAMP,成為WEB開發的高效解決方案。 云數據庫擁有即開即用、穩定可靠、安全運行、彈性伸縮、輕松管理、經濟實用等特點,讓您更加專注業務發展。

      3?前提條件

      3.1?華為云賬號

      華為云官網:http://www.huaweicloud.com

      點擊右上角“注冊”注冊華為云賬號,此賬號適用于所有華為云產品。

      3.2?工程初始化文件

      數據庫以及數據初始化腳本(本文是mysql,bootdo.sql)

      應用程序中間件以及工程源代碼(本文是jdk,bootdo)

      3.3?創建項目

      創建項目

      在華為云官網首頁-產品-軟件開發服務,進入華為軟件開發服務首頁。

      點擊右上角“新建”按鈕新建項目

      輸入項目名稱,選擇開發流程,輸入項目描述,點擊“新建”按鈕即完成了一個項目的創建。

      3.4?創建代碼倉庫

      首先在代碼廣場中搜索bootdo

      然后點擊fork圖標

      輸入倉庫名稱,選擇所屬項目

      如果想修改源代碼可將新建的代碼倉庫clone到本地,然后修改后再提交

      git的使用方式詳見

      https://bbs.huaweicloud.com/blogs/924542b3597311e89fc57ca23e93a89f

      https://bbs.huaweicloud.com/blogs/af59e0d9490211e89fc57ca23e93a89f

      3.5?Dockerfile

      到這里工程源碼準備完成。

      3.6?Servicestage集群

      需要創建Servicestage集群,在華為云官方網站下產品列表中選擇微服務云應用平臺https://www.huaweicloud.com/product/servicestage.html,點擊立即使用,然后選擇資源管理,點擊新建如下圖

      填寫基本信息后點擊下一步,選擇集群配置后點擊購買,如下圖

      購買后等待5-10分鐘后即可創建完成,到這里我們已經準備好了servicestage集群了。

      3.7?Docker鏡像

      準備完servicestage集群后,我們就可以上傳基礎鏡像了,這里的基礎鏡像指的是我們的工程需要用的MySql數據庫,ubuntu的鏡像,上傳方式如下:

      上傳幫助文檔:https://servicestage.huaweicloud.com/servicestage/?project=cn-north-1#/stage/softRepository/images/imagedetail/ninong6530/ll-org/mysql/pullpush

      上傳成功后,會將鏡像顯示在如下位置:

      到這里我們已經將我們需要的鏡像上傳到了私有庫中了。

      3.8?搭建數據庫服務

      我們現在可以通過servicestage集群來創建我們的數據庫服務了,在servicestage控制臺的左側菜單中點擊應用管理,然后點擊新建應用如圖

      選擇容器應用后進入詳細頁面,如圖

      填寫完基本信息后點擊下一步進入鏡像選擇界面

      選擇我們之前上傳的mysql鏡像后點擊確定,進入下一項設置

      根據需要選擇容器的配置后,展開高級設置--環境變量添加mysql的root密碼,然后點擊存儲

      這里的意思是設置mysql的數據文件存儲在主機的哪個位置,可根據需要配置,本文這里配置的是/root/update/mysql/datadir,也可以自行設置,如下

      登錄主機后創建需要的目錄,命令如下:

      mkdir -p /root/update/mysql/datadir

      配置完成后點擊下一步進行訪問方式配置,如下圖

      因為這個應用為數據庫服務所以不需要外網訪問,所以訪問類型可以選擇內部服務,后面的jar將要選擇外部服務了,配置好端口的映射關系后點擊下一步服務即可在1-5分鐘內創建完成

      這個時候我們cd到主機中的mysql/datadir目錄下,即可看到我們之前通過docker push上來的數據信息了

      再驗證一下數據庫服務是否成功Telnet?10.247.242.90 3306,

      到這里數據庫服務已經搭建完成,以后可通過servicestage控制臺進行快速的停起更新與擴容操作。

      4?研發場景概覽

      4.1?示例項目概述

      1.項目名稱:bootdo?blog

      2.項目簡介:實現了博客論文的在線預覽以及后臺運維能工作。

      3.項目類型:Java+mysql+h5的B/S架構的web項目

      4.開發環境:IDEA,VSCODE

      5.部署環境:ubuntu16.04 + mysql

      6.部署方式:docker容器+devcloud+servicestage集群

      4.2?通用客戶場景

      目前軟件開發過程中可以使用一些免費或者付費的工具幫助我們更高效的進行軟件開發,但存在以下缺點:

      ??每個項目參與者必須同時使用多種工具,導致工作的遺漏和不能及時的更新。

      ??安裝類型的工具會面臨版本更新升級的問題。

      ??運維人員在系統發布時環境搭建難度大,準備工作比較多,容易出現紕漏導致系統不能順利發布。

      ??開發、測試、運維之間相互隔離,發現問題不能及時定位。

      4.3?華為云服務方案總覽

      華為軟件開發服務DevCloud為軟件開發者提供即開即用的一站式云端DevOps平臺,包括項目管理、代碼托管、代碼檢查、云端構建、發布部署、流水線在內的端到端的軟件開發工具,從各個環節提升軟件產品的交付質量和速度。另外,華為云還為您提供豐富多彩的云計算產品。

      5?代碼管理場景

      華為軟件開發服務提供基于Git的代碼托管倉庫,倉庫提供可視化的管理界面,軟件開發者可將自己的軟件工程代碼上傳到此倉庫中進行代碼托管。

      代碼同步

      單擊代碼托管首頁“設置SSH密鑰”。進入“SSH密鑰管理”頁面。

      單擊“添加SSH密鑰”,進入“添加SSH密鑰”界面。

      根據界面下方“SSH密鑰幫助文檔”說明生成對應密鑰。輸入標題,將生成公鑰粘貼到“密鑰”文本框里,點擊“新建”即完成了SSH密鑰的添加。

      單擊代碼托管首頁“新建倉庫”,進入“新建代碼倉庫界面。

      選擇“普通新建”,輸入代碼倉庫名稱及描述,點擊確認即創建了一個空的云端代碼倉庫。

      代碼托管首頁展示創建的代碼倉庫列表

      點擊代碼倉庫對應的SSH,復制倉庫SSH地址。

      將代碼倉庫克隆到本地。

      $ git clone git@codehub.devcloud.huaweicloud.com:00de687ca8da4a5d8bcf7f5b55969c30/bootdo-docker.git

      然后進行項目代碼的開發(本文采用的是一個開源的Demo代碼)。

      再將代碼提交、推送到云端倉庫。

      $ git add *

      $ git commit -m "init"

      $ git push origin master

      代碼倉庫

      在代碼托管首頁面點擊創建的代碼倉庫,可以進入到代碼倉庫里,這里支持文件在線編輯,倉庫提交記錄,代碼貢獻度統計等多種功能,滿足各類開發者的需求。

      6?代碼質量評估場景

      可在線進行代碼靜態檢查、代碼架構檢查、代碼安全檢查、編碼問題檢查、質量評分、代碼缺陷改進趨勢分析,輔助用戶管控代碼質量

      代碼質量評估操作指南:

      產品介紹?基礎操作?進階操作

      代碼質量檢查

      在“檢查”服務下的“任務”中可以看到項目下的代碼檢查任務,點擊“新建任務”,進入到新建代碼檢查任務界面。

      輸入任務名稱,選擇需要檢查的代碼倉庫地址,選擇想要檢查出的嚴重問題規則集。

      進入到新創建的檢查任務中,點擊“啟動任務”

      任務進入“檢查中”狀態,并動態顯示檢查進度。

      代碼質量評估報告

      檢查任務執行結束,生成詳細的代碼質量報告,評估代碼質量。

      代碼修改建議

      在問題列表中查看代碼檢查結果,針對每個問題都會給出詳細的問題描述和修改建議,修改完畢后,再次執行代碼檢查任務,查看任務執行結果,形成代碼質量改進閉環。

      7?持續交付(CI/CD)場景

      7.1.1?編譯構建

      在devcloud的控制臺界面點擊構架發布下的編譯菜單,在右上角點擊新建一個編譯任務,如圖

      填寫基本信息之后點擊下一步

      選擇代碼倉庫后點擊下一步

      選擇構建工具與構建環境后點擊下一步

      這里重點說明下最后一項中的dockerfile位置,指的是我們之前在代碼倉庫中上傳的dockerfile的相對路徑,./Dockerfile,devcloud會根據這個文件創建出用戶需要的docker鏡像,并且將工程包上傳到用戶在dockerfile中指定的位置。然后點擊下一步

      選擇執行計劃后開始編譯。

      編譯成功后會在軟件發布倉庫下生成一個軟件包,可以手動下載,還會在servicestage中的軟件中心-鏡像倉庫下生成我們需要的docker鏡像,這個鏡像就是devcloud根據dockerfile以及代碼編譯后的程序包自動生成的鏡像,可用于容器部署,后面會講解如何使用

      當看見了這個鏡像信息后就代表著我們編譯已經成功了。

      7.1.2?發布

      軟件倉庫

      軟件開發服務提供4種類型的發布倉庫,前兩種是遠程Maven私倉,用于Maven類型構建過程中第三方依賴包的的管理。第三個倉庫是mirror鏡像倉,鏡像了一些構建過程中經常以來的中央倉到后臺,提升構建速度,體現云端構建的優勢。我們本次demo中應用最后一個編譯構建倉庫,作為生成的軟件包的版本歸檔管理倉庫。

      發布服務操作指南:

      產品介紹?基礎操作?進階操作

      版本管理和下載

      由于在構建任務里配置了“上傳到發布倉庫”步驟,每次構建結束后,可以在發布倉庫里就會新增一個本次構建生成的軟件包,實現軟件版本的自動管理。在配置部署任務時就可以在這里選擇要部署的軟件包文件了。這里支持將某次構建的軟件包下載到本地。

      7.1.3?部署

      這里講的是容器的部署方式,其他部署方式可參照下面操作指南:

      產品介紹?基礎操作?進階操作?Ansible部署playbook編寫指導

      在devcloud的控制臺上點擊部署菜單,并新建一個部署任務

      在編輯頁面填寫基本信息,如下

      然后選擇容器部署

      選擇我們在上面創建的servicestage集群,然后根據需要選擇實例的數量,然后在下方選擇我們之前編譯時生成的鏡像,然后進入最后一項配置如下

      選擇訪問方式,這里選擇的是發布為服務,容器內端口映射為8080to30000,點擊確認后進入最后確認頁面如下

      點擊確定即可開始執行部署任務了,如下圖

      頁面上展現了部署的步驟與時間等信息,下面我們要驗證一下應用是否正常相應,通過瀏覽器打開我們之前配置的訪問地址即可訪問:

      點擊登錄試試數據庫是否正常相應

      登錄成功,至此容器部署已經完成。

      7.1.4?流水線

      當所有流程打通之后,設置對應的流水線,將所有流程添加進去,實現自動化的構建發布部署一鍵執行。

      流水線操作指南:

      基礎操作??進階操作

      將需要的任務添加進流水線中,并運行流水線。

      7.0.5?測試

      測試管理(TestMan)是面向軟件開發者提供的一體化測試解決方案,覆蓋測試需求、用例管理、測試任務管理、缺陷管理,多維度評估產品質量,幫助您高效管理測試活動,保障產品高質量交付。

      測試管理操作指導:

      基礎操作?進階操作

      測試計劃

      在項目規劃階段將整個項目細化成一個個具體的需求,也是測試計劃設計形成的一個過程,測試環節就針對每個需求設計測試用例即可。

      用例管理

      用例管理頁面可以對已經創建的測試用例進行管理,可以將用例關聯到具體的需求或者針對需求設計測試用例,提交bug時就能夠直接將bug指給需求負責人,實現需求-用例-缺陷的雙向追溯。

      設計與驗收

      設計與驗收界面,可以在這里根據需求設計測試用例,以及查看用例執行情況和驗收報告。

      測試總覽

      Docker on 華為云DevCloud

      包括需求覆蓋率、缺陷、用例通過率、用例完成率、缺陷分布、用例進展、需求測試進度、成員用例進展和缺陷等。

      至此,恭喜您打通了軟件開發云的各服務,完成了docker部署環境的搭建。

      8?FAQ

      8.1?華為云社區Devcloud產品答疑FAQ???????????http://forum.huaweicloud.com/forum-642-1.html

      9?附錄

      9.1?軟件開發服務(DevCloud)用戶指南

      1、視頻教程

      【新手訓練營】幾分鐘教你掌握各個服務基本操作

      項目管理??配置管理??流水線??代碼檢查??編譯構建??測試管理??部署??發布

      【云途進階課】場景化教學,從實戰中玩轉軟件開發服務

      Web應用場景——開發一套EHR系統:規劃階段??開發階段??交付階段

      App應用場景——打造一款趣味交友App:規劃階段??開發階段??交付階段

      遷移上云秘籍

      1、從SVN遷移到GIT最強指南

      2、為何選擇Git版本控制系統

      3、Git的工作模式

      4、如何將本地代碼提交到托管平臺

      軟件開發平臺 DevCloud 軟件開發云 Docker

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:怎么調整表格里字的間距(如何調整表格里字的間距)
      下一篇:電腦沒裝或不能裝Origin Excel有哪些功能可以做出酷酷的圖表(沒有電腦可以裝)
      相關文章
      亚洲综合小说另类图片动图| 国产成人亚洲合集青青草原精品 | 亚洲精品亚洲人成在线麻豆| 亚洲av无码国产精品夜色午夜 | 亚洲国产精品乱码在线观看97| 日产亚洲一区二区三区| 亚洲AV无码一区二区三区系列| 久久被窝电影亚洲爽爽爽| 亚洲色婷婷六月亚洲婷婷6月| 91麻豆国产自产在线观看亚洲| 亚洲乱码中文字幕手机在线| 亚洲日本一区二区一本一道| 亚洲情侣偷拍精品| 在线精品亚洲一区二区小说 | 亚洲av丰满熟妇在线播放| 亚洲avav天堂av在线不卡| 亚洲成色999久久网站| 亚洲综合国产精品| 亚洲福利一区二区精品秒拍| 亚洲精品成人久久| 亚洲制服在线观看| 亚洲 欧洲 自拍 另类 校园| 亚洲一线产品二线产品| 亚洲AV无码成人精品区日韩 | 欧美亚洲国产SUV| 激情无码亚洲一区二区三区| 国产午夜亚洲精品不卡电影| 亚洲国产精品日韩| 亚洲中文字幕无码一久久区| 久久精品亚洲综合一品| 亚洲精品在线播放| 日韩亚洲国产综合高清| 亚洲高清一区二区三区电影| 国产亚洲男人的天堂在线观看| 亚洲欧洲精品成人久久奇米网| 国产亚洲精品久久久久秋霞| 国产成A人亚洲精V品无码性色| 亚洲欧洲在线观看| 亚洲一级毛片免费看| 亚洲免费网站观看视频| 色偷偷亚洲第一综合|