在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在Windows上應用Docker開展動態代碼測試

Vector維克多 ? 來源:Vector維克多 ? 作者:Vector China ? 2021-10-28 11:08 ? 次閱讀

隨著軟件項目復雜度的提升和不可控的團隊資源變更,研發組織對DevOps部署的靈活性、可快速遷移和適配CI/CD的迭代提出了更高的要求。傳統的虛擬機方案,即模擬出一個完整操作系統,對這類需求顯得力不從心;而輕巧和便捷的容器技術通過在宿主機操作系統上應用虛擬化,直接勝出。本文主要介紹容器技術的代表產品Docker,并對Docker與虛擬機進行對比,以及如何在Windows上應用Docker開展動態代碼測試和實現與Jenkins的持續集成。

1

Docker簡介

Docker是一組PaaS(Platform as a Service,平臺即服務)產品,通過操作系統層級的虛擬化提供稱為容器的打包軟件服務。Docker起源自2008年在巴黎初創的dotCloud公司,后于美國進行孵化和注冊,于2013年3月宣布遵從Apache2.0協議開源,同年9月正式更名為Docker,次年在0.9版本上用Go語言編寫的libcontainer組件替代了LXC(Linux Container)。

Docker可以讓開發者基于選定的鏡像(Image),打包目標應用以及依賴包到一個輕量級、可移植的容器(Container)中,并通過客戶端的docker命令實現對Docker主機內容器的操控;當前容器也可創建成新的鏡像,而所有鏡像都存放在倉庫(Registry)中,類似GitHub一樣分為共有倉庫和私有倉庫。

2

容器技術與虛擬機的比較

容器和虛擬機雖然都使用虛擬化技術,但容器(圖2)并不是模擬一個完整的操作系統,而是在宿主機操作系統上應用虛擬化技術;勝在“輕巧”,可實現軟件應用的秒級啟動和響應。相比而言,虛擬機冗余步驟多、啟動太慢、占用內存硬盤資源,過于笨重。

此外,容器彼此間互相隔離,可通過預定渠道進行通信(即共享宿主機的操作系統)?;阽R像可便捷地創建容器和分發構建環境,契合DevOps和敏捷開發等對快速部署和應用的需求。

3

Windows上使用Docker運行

VectorCAST

Windows上Docker安裝信息可參照:

https://docs.docker.com/desktop/windows/install/

3.1 運行帶GUI的Ubuntu鏡像,創建并啟動容器

鏡像使用參照https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/

docker run -p 6080:80 -v D:DockerData:/dev/shm --name ubuntu-desktop dorowu/ubuntu-desktop-lxde-vnc:xenial

參數解析

docker,Docker的二進制執行文件。

run,與前面的docker組合來運行一個容器。

-p,指端口綁定。

-v,設定共享目錄,為了將安裝包保存到容器中,需要指定目錄。D:DockerData指本地目錄,可以自定義;/dev/shm是指容器中的目錄。將需要復制到容器中的文件放置到D:DockerData中,在容器中就可以進入/dev/shm來訪問這些文件。

–name,設定容器名稱,如不指定,則設置一個隨機生成的名字。

:xenial,指定鏡像的版本,如不指定,則默認使用最新版本。

dorowu/ubuntu-desktop-lxde-vnc:xenial,指定要運行的鏡像,Docker 首先從本地主機上查找鏡像是否存在,如果不存在,Docker就會從鏡像倉庫Docker Hub下載公共鏡像。

上述命令完整的意思可以解釋為:Docker以dorowu/ubuntu-desktop-lxde-vnc:xenial鏡像創建一個名為ubuntu-desktop的容器,指定端口6080:80進行通信,指定D:DockerData以及/dev/shm為Windows和Ubuntu的共享目錄。

3.2 在容器中安裝并使用VectorCAST

a.

在瀏覽器中打開http://127.0.0.1:6080/,進入Ubuntu的桌面界面,打開命令行。

b.

進入/dev/shm目錄找到在Windows的D:DockerData下存放的VectorCAST安裝文件,并按Linux下的安裝方法常規安裝以及配置,在此不作贅述。

*若提示找不到命令時(鏡像未安裝),可執行apt update以及apt install命令進行安裝即可。

c.

運行VectorCAST,確認獲取到License。

d.

創建環境并執行測試用例。

3.3 基于已有容器創建私有鏡像

為實現工具安裝的快速部署和避免依賴包可能導致的不兼容問題,在安裝VectorCAST的容器基礎上創建私有鏡像提交至本地并打包,即可通過推送或分發達成需求。

a.

docker images查看現有鏡像:

b.

docker ps查看在運行中的容器:

此容器已經安裝了VectorCAST,在此基礎上創建鏡像。Commit命令需要使用這里的紅框內容器ID。

c.

docker commit創建鏡像,并用docker images查看已創建的鏡像myubuntu:2.0:

docker commit -m “create ubuntu with VectorCAST installed” -a “vector” e94998fcde2f myubuntu:2.0

d.

基于創建的新鏡像創建容器并啟動:

docker run -p 6081:80 --name ubuntu_new myubuntu:2.0

e.

進入Ubuntu桌面,確認容器中有已安裝好的VectorCAST:

f.

Docker save打包鏡像至tar文件,可以拷貝至其他宿主機使用:

docker save -o my_ubuntu_v2.tar 919c1693ccee

4

Jenkins + Docker實現CI/CD

Docker為DevOps提供了很好的基礎支撐:

輕量??梢钥焖賳雍筒渴鹨粋€復雜的開發環境;

通過編寫Dockerfile可以將業務容器化。將Dockerfile提交到代碼倉庫中,在持續集成的過程中基于已有的Dockerfile來構建鏡像 ,極大提升持續集成的構建速度;

鏡像倉庫使分發變得十分簡單。當鏡像構建完成后,無論在哪里只需要執行docker pull命令就可以快速地將鏡像拉取到本地并且啟動應用。

接下來介紹從Jenkins Pipeline中啟動Docker容器,運行VectorCAST測試環境并生成測試報告的過程。

4.1 編寫測試腳本

在容器中編寫運行VectcorCAST測試工程的腳本start_vcast_cmd.sh,后續會在Pipeline中調用此腳本:

4.2 宿主機上創建Jenkins Pipeline

jenkins_run_docker.bat文件中主要執行開啟容器以及運行容器中事先準備的腳本start_vcast_cmd.sh:

4.3 構建Pipeline并查看報告

共享目錄中生成了測試報告Full_Status.html,用戶可以在宿主機上進行查看:

4.4 引入看板工具Squore分析測試結果

看板管理工具Squore可以在Jenkins Pipeline中進行部署和配置,自動導入VectorCAST測試結果進行分析,以便用戶直觀地查看代碼質量和趨勢分析,實現對項目管理和決策的優化。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • WINDOWS
    +關注

    關注

    4

    文章

    3608

    瀏覽量

    91024
  • 容器
    +關注

    關注

    0

    文章

    507

    瀏覽量

    22379
  • 代碼
    +關注

    關注

    30

    文章

    4891

    瀏覽量

    70310

原文標題:Windows上應用Docker容器技術的動態代碼測試

文章出處:【微信號:VectorChina,微信公眾號:Vector維克多】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    何在Android設備安裝Cyusb3014芯片驅動?

    1.如何在Android設備安裝Cyusb3014芯片驅動? 我們在 Windows 上有 FX3 驅動程序 SDK。 2.如何在Android系統上下載固件到芯片中?
    發表于 05-15 07:23

    S32K311如何在Flash測試ECC?

    我有一些與目標 S32K311 的 Flash ECC 相關的問題 - ERM 是否負責 Code Flash 和 Data Flash ECC 中斷通知? - 我們如何在 Flash
    發表于 04-14 08:47

    【技術案例】Android in Docker

    的資源利用,廣泛用于開發、測試和生產環境中。AndroidinDocker介紹宿主機系統中通過docker運行Android容器。利用docker的特性,我們可以將
    的頭像 發表于 04-02 16:33 ?543次閱讀
    【技術案例】Android in <b class='flag-5'>Docker</b>

    使用Windows中的Docker容器運行DL Streamer出現報錯怎么解決?

    使用 Windows* 中的 Docker 容器運行 DL Streamer。 遇到錯誤: gi.repository.GLib.GError: gst_parse_error: 無元素 “vaapih264enc” (1)
    發表于 03-05 07:04

    何在Windows中使用MTP協議

    、圖片等)的通信協議,它被廣泛用于Android設備。以下是如何在Windows中使用MTP協議的詳細步驟: 1. 確保設備支持MTP 首先,你需要確認你的設備支持MTP協議。大多數現代Android
    的頭像 發表于 01-03 10:26 ?2225次閱讀

    Flexus X 實例 C#/.Net Core 結合(git 代碼管理、docker 自定義鏡像)快速發布部署 - 讓你的項目飛起來~

    Docker 容器化部署,實現代碼高效管理與無縫遷移。即刻行動,讓您的 Web 服務更加穩定、高效,領跑數字化轉型之路! ???本實驗深入演示了如何在 Ubuntu 環境中,利用 Git 進行版本控制管理
    的頭像 發表于 12-25 21:15 ?531次閱讀
    Flexus X 實例 C#/.Net Core 結合(git <b class='flag-5'>代碼</b>管理、<b class='flag-5'>docker</b> 自定義鏡像)快速發布部署 - 讓你的項目飛起來~

    何在windowsemulate不同操作系統

    一、虛擬化技術概述 虛擬化技術允許在單個物理機器創建多個虛擬機,每個虛擬機都可以運行不同的操作系統。這使得我們可以在Windows系統模擬其他操作系統,而無需購買額外的硬件。虛擬化技術的關鍵組件
    的頭像 發表于 12-05 15:50 ?751次閱讀

    何在樹莓派上安裝Docker容器

    Pi官網 下載最新版本的Raspberry Pi OS。 使用SD卡寫入工具將鏡像寫入SD卡:可以使用 Etcher 等工具。 將SD卡插入樹莓派并啟動。 2. 更新系統 在安裝Docker之前
    的頭像 發表于 11-11 11:38 ?1793次閱讀

    Docker運行環境安裝

    、發布、測試和部署,可以幫助開發人員將最新版本代碼應用到生產環境中。 Docker可以安裝在多個平臺中,包括Mac、Windows和Linux。不過,生產環境還是推薦在Linux
    的頭像 發表于 10-29 11:28 ?590次閱讀

    如何通過Docker使用香山

    資源包在通過Docker形式提供了運行香山必須的Linux操作系統、香山開發環境、香山和仿真相關工具的代碼,會大大降低自己部署環境和工具的難度,理論比自己部署要方便。如果想自己配置,可以參看本地使用香山的文檔自行安裝。
    的頭像 發表于 10-29 09:38 ?565次閱讀
    如何通過<b class='flag-5'>Docker</b>使用香山

    ARM平臺實現Docker容器技術

    及依賴包到一個可移植的鏡像中,然后發布到任何流行的Linux或Windows機器,亦可實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。使用Docker,可像管理應用程序一樣管理基礎結構
    發表于 07-25 14:36

    ARM平臺實現Docker容器技術

    及依賴包到一個可移植的鏡像中,然后發布到任何流行的Linux或Windows機器,亦可實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。使用Docker,可像管理應用程序一樣管理基礎結構
    發表于 07-17 11:05

    Jtti:Docker會替代調虛機嗎

    嗎? 答案:不會。 原因:是有些遺留應用是運行在windows系統的。有些應用可以直接遷移到虛擬,但是不能直接在容器中運行?,F在得趨勢是虛擬機和容器同時發展。容器的優點是敏捷性和高性能。而虛擬機的優點是更強的隔離性和運維的簡
    的頭像 發表于 07-12 14:38 ?544次閱讀
    Jtti:<b class='flag-5'>Docker</b>會替代調虛機嗎

    求助,請問如何在Windows系統安裝ESP-IDF?具鏈?

    求助,請問如何在Windows系統安裝ESP-IDF?具鏈?
    發表于 07-09 06:28

    請問如何在Windows(Msys)設置NONOS系統?

    何在Windows(Msys)設置NONOS系統?
    發表于 07-08 08:29
    主站蜘蛛池模板: 日本三级香港三级人妇网站 | 亚洲91色 | 久久大香线蕉综合爱 | 欧美一级www片免费观看 | h视频免费 | 国产欧美日韩综合精品无毒 | 5g影院天天| 757一本到午夜宫 | 美女被免费网站视频在线 | 国产色婷婷精品免费视频 | 色哟永久免费 | 深深激情网| 很狠操| 高清成年美女xx免费网站黄 | 中文永久免费看电视网站入口 | 一区二区三区四区在线 | 免费一区在线观看 | bt种子在线www天堂官网 | 日本xxwwxxww视频免费丝袜 | 网站在线你懂的 | 欧美人与牲动交xxxx | 亚洲一区二区高清 | 国产三级日本三级韩国三级在线观看 | 永久在线观看 | 夜色福利久久久久久777777 | 亚洲午夜日韩高清一区 | 成年ssswww日本 | 一级做a爱片久久毛片 | 天堂成人精品视频在线观 | 一级特黄aaa大片29 | 男人的天堂一区二区视频在线观看 | 三级黄色a | 天天槽任我槽免费 | 亚洲午夜网 | 日本黄网站高清色大全 | 国产小视频免费 | 狠狠色噜噜狠狠狠狠999米奇 | 久久免费视频99 | 日本亚洲免费 | 国产三级视频在线播放 | 男女爱爱免费高清 |