原創|使用教程|編輯:鄭恭琳|2020-06-15 11:55:07.280|閱讀 646 次
概述:
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
如何使用創建容器映像
這篇文章的第1部分討論了使用容器部署嵌入式開發工具鏈的好處。它展示了如何配置以使其與在容器中部署的編譯工具鏈和測試執行環境一起使用。
現在,讓我們看一下使用創建容器圖像。我將演示一個包含容器內靜態分析執行的簡單示例。
作為基于命令行的工具,標準適用于容器內部署。它可以與編譯器打包在一起,并將系統構建到一個容器映像中,并用于CI/CD,并部署到開發人員的桌面以進行本地命令行掃描。下圖顯示了此設置的高級概述:
該圖顯示Jenkins使用容器化的運行靜態分析。在此特定設置中,,編譯工具鏈和構建工具部署在該圖右上角所示的容器中。
右下方它下方的容器提供了執行環境,執行運行時測試(例如單元測試或自動系統級測試)可能需要執行環境。
如果我們打算僅執行靜態分析,則我們的設置很可能僅包含帶有編譯工具鏈和的一種容器。
如果尚未安裝,請安裝最新版的。
為了簡化使用創建容器映像的過程,最新版本附帶了一個Dockerfile示例。您可以在以下位置找到該Dockerfile:
/integration/docker/Dockerfile
這個簡單的Dockerfile僅關注構建映像所需的步驟。在大多數實際情況下,您需要將此文件與Dockerfile合并。
在分析示例Dockerfile中的內容之前,讓我們看看它是如何工作的。我的示例假定以下簡單文件結構:
$HOME/sandbox/parasoft_cpptest_standard-2020.1.0-linux.x86_64.tar.gz
1.解壓縮發行版。
2.從發行版中復制示例Dockerfile
3.使用有關許可證的信息為準備屬性文件。我們將使用默認的cpptestcli.properties文件作為基礎,因此我們將其復制到我們的工作目錄中:
編輯它以插入有關您的許可證服務器位置的信息。使用您喜歡的編輯器來配置許可信息。完成后保存文件。
4.編輯Dockerfile,并取消注釋行號13(將cpptestcli.properties文件從本地目錄復制到容器中位置的行)。Dockerfile中的行應如下所示:
5.現在,我們準備創建Docker映像。運行命令以使用構建第一個映像。圖像名稱為“cpptest_ci_image”。
Docker將花費一些時間來分析其緩存并下載所需的基本映像。完成此操作后,將復制發行版并將其安裝到映像中。一兩分鐘后,圖像應準備就緒。 通過執行命令以列出所有圖像來確認它:
在輸出中,您應該看到頂部列出了“cpptest_ci_image”。太好了,因此我們已經建立了圖像并準備就緒。現在該進行測試了!
為了進行簡單測試,請使用Dockerfile中提供的幫助程序/示例命令行之一。
使用您喜歡的編輯器打開Dockerfile,然后向下滾動到文件底部。您應該看到幾個示例命令行,如下所示:
讓我們使用第26行中的命令行在該發行版隨附的示例之一上執行容器內靜態分析。
由于我們決定使用許可信息將cpptestcli.properties文件構建到容器中,因此我們可以簡化命令行并刪除-settings選項。測試的命令行應如下所示:
瞧!靜態分析是在容器中執行的。結果在控制臺上報告。
我們可以進一步配置該工具以在本地文件系統上生成HTML報告,但這是另一回事。我們的主要目標是創建內部帶有的容器,并將其配置為執行靜態分析。我們實現了目標。
如果您需要在流程中設置帶有靜態分析的CI服務器,則您的任務會簡單得多。只需訪問容器。如果您團隊中的開發人員想要運行靜態分析,則情況也是如此。
是否需要升級到最新版本?只需下載發行版,重建您的容器映像,即可完成!團隊和自動化基礎設施甚至都不會注意到此操作。如有必要,可平滑,輕松且可逆。
在結束之前,讓我們看一下用于創建映像的附帶的Dockerfile的內容。下圖顯示了
詳細信息如下:
這就是使用創建一個簡單容器即可執行靜態分析所需的一切。
正如我提到的,這是一個簡單的Dockerfile。它已添加到分發中,以為您提供一個示例,說明您可能需要為環境創建容器映像。您將需要對其進行調整,或者將其與現有的Dockerfile合并。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn