軟件工程最佳實踐筆記本

本文提供了一個實踐介紹,演示了如何將軟件工程最佳實踐應用到磚筆記本,包括版本控製、代碼共享、測試和可選的持續集成和持續交付或部署(CI / CD)。

在這個介紹,你會:

  • 添加筆記本磚回購的版本控製。

  • 提取的部分代碼從一個筆記本變成一個可共享的模塊。

  • 測試共享代碼。

  • 運行筆記本從磚的工作。

  • 有選擇地應用CI / CD共享代碼。

需求

為了完成這個場景,您必須提供以下資源:

  • 一個遠程存儲庫Git提供者磚支持。本文介紹使用GitHub。這個介紹假定你有一個GitHub庫命名best-notebooks可用。(您可以給您的存儲庫一個不同的名稱。如果你這樣做,替換best-notebooks回購的名字和你在這介紹)。創建一個GitHub回購如果你不已經有一個了。

    請注意

    如果你創建一個新的回購,一定要初始化庫至少有一個文件,例如自述文件。

  • 一個磚工作空間創建一個工作區如果你不已經有一個了。

  • 一個磚通用的集群在工作區中。筆記本電腦運行在設計階段,你把筆記本電腦運行的通用集群。後來,這個介紹使用磚工作自動化運行集群上的筆記本電腦。(你也可以運行工作工作的集群喬布斯的一生中隻存在。)創建一個通用的集群如果你不已經有一個了。

    請注意

    處理文件數據磚回購,參與集群必須安裝磚運行時的8.4或更高。磚建議這些集群擁有最新的長期支持(LTS)版本安裝,運行時10.4 LTS磚。

預排

在這個介紹,你會:

  1. 連接現有的GitHub回購磚回購。

  2. 添加一個現有筆記本回購,然後運行筆記本第一次。

  3. 將一些代碼從筆記本到一個共享模塊。第二次運行筆記本確保筆記本調用共享代碼。

  4. 單獨使用一個筆記本測試共享代碼沒有運行第一個筆記本了。

  5. 創建一個磚工作自動運行兩個筆記本,按需或定期。

  6. 設置回購運行第二個筆記本測試中創建的共享代碼拉請求時回購。

  7. 進行拉力要求更改共享代碼,這將觸發自動運行的測試。

下麵的步驟指導您完成這些活動。

步驟1:設置磚回購

在這個步驟中,您連接現有的GitHub回購在現有數據磚磚回購的工作區。

讓您的工作區連接到GitHub回購,你必須首先為您的工作區提供GitHub憑證,如果你沒有這樣做了。

步驟1.1:提供您的GitHub憑證

  1. 點擊你的用戶名在右上角的工作區,然後單擊用戶設置下拉列表中。

  2. 用戶設置頁麵,點擊Git集成

  3. Git集成選項卡,Git提供者中,選擇GitHub

  4. Git供應商用戶名或電子郵件GitHub,輸入您的用戶名。

  5. 令牌,輸入您的GitHub個人訪問令牌。這令牌必須有回購許可。

  6. 點擊保存

步驟1.2:連接到GitHub回購

  1. 在側邊欄數據科學與工程磚機器學習環境中,點擊回購

  2. 回購窗格中,單擊添加回購

  3. 添加回購對話框:

    1. 點擊克隆遠程Git存儲庫

    2. Git存儲庫URL,輸入GitHub克隆與HTTPSGitHub回購的URL。本文假設您的URL結尾best-notebooks.git例如,https://github.com/ < your-GitHub-username > / best-notebooks.git

    3. 在旁邊的下拉列表Git存儲庫URL中,選擇GitHub

    4. 離開回購的名字設置為您的回購的名稱,例如best-notebooks

    5. 點擊創建

步驟2:導入和運行筆記本

在這個步驟中,您現有的外部筆記本導入你的回購。你可以創建自己的筆記本預排,但加快速度,我們提供給你。

步驟2.1:創建一個回購工作分支

在這個步驟中,您創建一個分支eda在你的回購。這種能力使您工作文件和代碼獨立於你的回購主要分支機構,這是一個軟件工程最佳實踐。(你可以給你的分支一個不同的名稱。)

請注意

在某些回購,主要分支可能被命名為代替。如果是這樣,取代主要在這個介紹。

提示

如果你不熟悉在Git分支工作,明白了Git分支,分支簡而言之在Git網站上。

  1. 如果回購麵板不顯示,然後在側邊欄數據科學與工程磚機器學習環境中,點擊回購

  2. 如果你連接到的回購在前麵的一步是不顯示的回購窗格,然後選擇您的工作區用戶名和選擇您連接到回購的名字在前麵的步驟。

  3. 單擊下拉箭頭回購的名字,然後點擊Git

  4. best-notebooks對話框中,單擊+(創建分支)按鈕。

    請注意

    如果你的回購以外有一個名字best-notebooks這個對話框的標題會有所不同,這裏,在這個介紹。

  5. 輸入eda然後按回車鍵。

  6. 關閉該對話框。

步驟2.2:筆記本導入回購

在這個步驟中,您現有的筆記本從另一個回購導入你的回購。這個筆記本做以下:

  1. CSV文件的副本owid / covid-19-dataGitHub庫到集群的工作區中。這個CSV文件包含公眾對COVID-19住院和重症監護指標的數據來自世界各地。

  2. CSV文件的內容讀入熊貓DataFrame

  3. 過濾數據隻包含指標從美國。

  4. 顯示數據的陰謀。

  5. 拯救熊貓DataFrame作為熊貓API火花DataFrame

  6. 對熊貓API執行數據清理DataFrame火花。

  7. 熊貓API在火花DataFrame寫道差值表在你的工作空間。

  8. 顯示了三角洲表的內容。

雖然你可以創建自己的筆記本在你的回購,導入現有筆記本相反有助於加快這個介紹。在這個分支創建一個筆記本或移動現有的筆記本到這個分支而不是導入一個筆記本,看到的工作區文件基本用法

  1. 回購回購窗格中,單擊下拉箭頭回購的名字,然後點擊創建>文件夾

  2. 新文件夾名稱對話框中,輸入筆記本電腦,然後單擊創建文件夾

  3. 回購窗格中,單擊回購的名稱,單擊旁邊的下拉箭頭筆記本電腦文件夾,然後單擊進口

  4. 進口筆記本電腦對話框:

    1. 進口的中,選擇URL

    2. 輸入的原始內容的URLcovid_eda_raw筆記本的磚/ notebook-best-practices在GitHub回購。得到這個網址:

      1. https://github.com/databricks/notebook-best-practices

      2. 單擊筆記本電腦文件夾中。

      3. 單擊covid_eda_raw.py文件。

      4. 點擊

      5. 複製完整的URL從web瀏覽器的地址欄進口筆記本電腦對話框。

        請注意

        進口筆記本電腦對話框使用Git公共存儲庫url。

    3. 點擊進口

步驟2.3:運行筆記本

  1. 如果筆記本已經不顯示了,回購回購麵板,雙擊covid_eda_raw筆記本的內部筆記本電腦文件夾打開它。

  2. 在筆記本上,在旁邊的下拉列表文件把這個筆記本,選擇集群。

  3. 點擊運行所有

  4. 如果有提示,單擊附加&運行首先,連接和運行

  5. 等待筆記本運行。

筆記本完成運行後,在筆記本上應該可以看到數據的情節以及超過600行三角洲的原始數據表。如果集群不是已經開始運行這個筆記本時,可能需要幾分鍾的集群啟動之前顯示結果。

步驟2.4:檢查筆記本和合並

在這個步驟中,您將您的工作保存到目前為止你的GitHub回購。然後將筆記本從工作分支合並到你的回購主要分支。

  1. 回購回購窗格中,單擊eda分支。

  2. best-notebooks對話框,變化選項卡中,確保筆記本/ covid_eda_raw.py文件被選中。

  3. 總結(必需),輸入添加筆記本

  4. 描述(可選),輸入第一個版本筆記本。

  5. 點擊提交和推

  6. 點擊曆史,或點擊創建一個請求對git提供者在彈出的鏈接。

  7. 在GitHub,單擊把請求選項卡中,創建拉請求,然後合並請求拉進主要分支。

  8. 在磚工作區,關閉best-notebooks如果它仍顯示對話框。

步驟3:移動代碼到一個共享模塊

在這個步驟中,您將一些代碼在你的筆記本為一組共享功能之外的你的筆記本。這使您能夠使用這些函數與其他類似的筆記本電腦,它可以加速未來的編碼和幫助確保更容易預測和筆記本的結果一致。分享這段代碼還使您能夠更容易地測試這些功能,作為軟件工程最佳實踐可以提高你的代碼的整體質量。

步驟3.1:創建另一個回購工作分支

  1. 在您的工作空間回購回購窗格中,單擊eda分支。

  2. best-notebooks對話框中,單擊旁邊的下拉箭頭eda分支,並選擇主要

  3. 單擊按鈕。如果提示繼續拉,點擊確認

  4. 單擊+(創建分支)按鈕。

  5. 輸入first_modules,然後按Enter鍵。(你可以給你的分支一個不同的名稱。)

  6. 關閉該對話框。

步驟3.2:筆記本導入回購

加快這個介紹,在這個分步導入另一個現有的筆記本電腦到你的回購。這個筆記本電腦做同樣的事情以前的筆記本,除了這個筆記本將調用共享代碼函數存儲之外的筆記本。再次,你可以創建你自己的筆記本在你的實際代碼做回購在這兒分享自己。

  1. 回購回購窗格中,單擊旁邊的下拉箭頭筆記本電腦文件夾,然後單擊進口

  2. 進口筆記本電腦對話框:

    1. 進口的中,選擇URL

    2. 輸入的原始內容的URLcovid_eda_modular筆記本的磚/ notebook-best-practices在GitHub回購。得到這個網址:

      1. https://github.com/databricks/notebook-best-practices

      2. 單擊筆記本電腦文件夾中。

      3. 單擊covid_eda_modular.py文件。

      4. 點擊

      5. 複製完整的URL從web瀏覽器的地址欄進口筆記本電腦對話框。

        請注意

        進口筆記本電腦對話框使用Git公共存儲庫url。

    3. 點擊進口

    請注意

    你可以刪除現有的covid_eda_raw筆記本在這一點上,因為新covid_eda_modular筆記本是一個共享版本的第一個筆記本。然而,你可能仍然想保持以前的筆記本供比較的目的,即使你不會使用它了。

步驟3.3:增加筆記本支持共享代碼的功能

  1. 回購回購窗格中,單擊下拉箭頭回購的名字,然後點擊創建>文件夾

    請注意

    不點擊旁邊的下拉箭頭筆記本電腦文件夾中。單擊下拉箭頭旁邊你回購的名字。你想要這個進入回購的根源,不進了筆記本電腦文件夾中。

  2. 新文件夾名稱對話框中,輸入covid_analysis,然後單擊創建文件夾

  3. 回購回購窗格中,單擊旁邊的下拉箭頭covid_analysis文件夾,然後單擊創建>文件

  4. 新文件的名字對話框中,輸入transforms.py,然後單擊創建文件

  5. 回購回購窗格中,單擊covid_analysis文件夾,然後單擊transforms.py

  6. 在編輯器窗口中,輸入以下代碼:

    進口熊貓作為pd由國家代碼#過濾器。deffilter_country(pdf,國家=“美國”):pdf=pdf(pdfiso_code= =國家]返回pdf#主指標,填補缺失值。defpivot_and_clean(pdf,fillna):pdf(“價值”]=pdto_numeric(pdf(“價值”])pdf=pdffillna(fillna)pivot_table(=“價值”,=“指標”,指數=“日期”)返回pdf#創建兼容三角洲表的列名。defclean_spark_cols(pdf):pdf=pdfstr取代(”“,“_”)返回pdf#將索引列(與熊貓API火花)。defindex_to_col(df,colname):df(colname]=df指數返回df

提示

其他代碼共享技術,請參閱磚筆記本之間共享代碼

步驟3.4:添加共享代碼的依賴關係

前麵的代碼有幾個Python包依賴性使代碼運行正常。在這個步驟中,您聲明這些包的依賴關係。聲明依賴性提高再現性通過使用精確定義的版本庫。

  1. 回購回購窗格中,單擊下拉箭頭回購的名字,然後點擊創建>文件

    請注意

    不點擊旁邊的下拉箭頭筆記本電腦covid_analysis文件夾。你想要的包依賴關係列表進入回購的根文件夾,而不是筆記本電腦covid_analysis文件夾。

  2. 新文件的名字對話框中,輸入,然後單擊創建文件

  3. 回購回購窗格,點擊,輸入以下代碼:

    請注意

    如果文件是不可見的,您可能需要刷新web瀏覽器。

    我https://pypi.org/simple attrs = = 21.4.0周期計= = 0.11.0 fonttools它= = 4.33.3 iniconfig = = 1.1.1 kiwisolver = = 1.4.2 matplotlib = = 3.5.1 numpy = = 1.22.3包裝= = 21.3熊貓= = = = 1.4.2枕頭9.1.0 pluggy = = 1.0.0 py = = 1.11.0 py4j = = 0.10.9.3 pyarrow = = 7.0.0 pyparsing = = 3.0.8 pyspark pytest = = = = 3.2.1版本7.1.2 python-dateutil = = 2.8.2 pytz = = 2022.1 6 = = 1.16.0 tomli = = 2.0.1 wget = = 3.2

    請注意

    前麵的文件列出了具體的包的版本。為了更好的兼容性,可以交叉引用這些版本的安裝在您的通用集群。看到您的集群的“係統環境”一節的磚在運行時版本磚的運行時版本

你的回購結構現在看起來應該像這樣:

|——covid_analysis |”——變換。py |——筆記本電腦| | - covid_eda_modular |”——covid_eda_raw(可選)”,讓

步驟3.5:重構筆記本運行

在這個步驟中,您運行covid_eda_modular筆記本,調用共享代碼covid_analysis / transforms.py

  1. 回購回購麵板,雙擊covid_eda_modular筆記本在筆記本電腦文件夾中。

  2. 在旁邊的下拉列表文件把這個筆記本,選擇集群。

  3. 點擊運行所有

  4. 如果有提示,單擊附加&運行首先,連接和運行

  5. 等待筆記本運行。

筆記本完成運行後,在筆記本您應當會看到類似的結果covid_eda_raw筆記本:一塊數據以及超過600行的三角洲地區的原始數據表。這個筆記本的主要區別在於,一個不同的過濾器(一個使用iso_codeDZA而不是美國)。如果集群不是已經開始運行這個筆記本時,可能需要幾分鍾的集群啟動之前顯示結果。

第四步:測試共享代碼

在這個步驟中,您從最後一步測試共享代碼。然而,您想要測試這段代碼沒有運行covid_eda_modular筆記本本身。這是因為如果共享代碼無法運行,筆記本本身可能無法運行。你想趕上失敗在你的共享代碼之前,先讓你的主要的筆記本以後最終失敗。這個測試技術是軟件工程最佳實踐。

提示

額外的方法為筆記本電腦測試,以及測試R和Scala筆記本,看到的單元測試的筆記本

步驟4.1:創建另一個回購工作分支

  1. 在您的工作空間回購回購窗格中,單擊first_modules分支。

  2. best-notebooks對話框中,單擊旁邊的下拉箭頭first_modules分支,並選擇主要

  3. 單擊按鈕。如果提示繼續拉,點擊確認

  4. 單擊+(創建分支)按鈕。

  5. 輸入first_tests,然後按Enter鍵。(你可以給你的分支一個不同的名稱。)

  6. 關閉該對話框。

步驟4.2:添加測試

在這個步驟中,您使用pytest框架來測試您的共享代碼。在這些測試中,您斷言特定的測試結果是否實現。如果任何測試產生意想不到的結果,這個測試失敗本身,因此測試失敗的斷言。

  1. 回購回購窗格中,單擊下拉箭頭回購的名字,然後點擊創建>文件夾

  2. 新文件夾名稱對話框中,輸入測試,然後單擊創建文件夾

  3. 回購回購窗格中,單擊旁邊的下拉箭頭測試文件夾,然後單擊創建>文件

  4. 新文件的名字對話框中,輸入文檔,然後單擊創建文件

  5. 回購回購窗格中,單擊測試文件夾,然後單擊文檔

  6. 在編輯器窗口中,輸入以下測試數據:

    價值實體,iso_code、日期、指標,美國,美國,2022-04-17,每日ICU入住率,美國,美國,2022-04-17,每日ICU入住率每百萬,4.1美國,美國,2022-04-17,每天醫院入住率,10000年美國,美國,2022-04-17,每天醫院入住率每百萬,30.3美國,美國,2022-04-17,每周新醫院錄取,11000年美國,美國,2022-04-17,每周新入院每百萬,32.8阿爾及利亞、DZA, 2022-04-18,每日ICU入住率,1010年阿爾及利亞、DZA, 2022-04-18,每日ICU入住率每百萬,4.5阿爾及利亞、DZA, 2022-04-18,每天醫院入住率,11000年阿爾及利亞、DZA, 2022-04-18,每天醫院入住率每百萬,30.9阿爾及利亞、DZA, 2022-04-18,每周新醫院錄取,10000年阿爾及利亞、DZA, 2022-04-18,每周新入院每百萬,32.1

    請注意

    使用測試數據是一個軟件工程最佳實踐。這使您能夠運行您的測試速度,依賴一小部分具有相同的數據格式作為你的真實數據。當然,你總是想確保這個測試數據準確地代表你的真實數據在運行測試之前。

  7. 回購回購窗格中,單擊旁邊的下拉箭頭測試文件夾,然後單擊創建>文件

  8. 新文件的名字對話框中,輸入transforms_test.py,然後單擊創建文件

  9. 回購回購窗格中,單擊測試文件夾,然後單擊transforms_test.py

  10. 在編輯器窗口中,輸入以下的測試代碼。這些測試使用標準pytest固定裝置以及一個嘲笑內存熊貓DataFrame:

    #測試每一個轉換函數。進口pytesttextwrap進口填滿進口操作係統進口熊貓作為pd進口numpy作為npcovid_analysis.transforms進口*pyspark.sql進口SparkSession@pytest夾具defraw_input_df()- >pdDataFrame:”“”創建一個測試的輸入數據集的基本版本,包括nan。”“”返回pdread_csv(“測試/文檔”)@pytest夾具defcolnames_df()- >pdDataFrame:df=pdDataFrame(數據=[[0,1,2,3,4,5]],=(“每日ICU占用”,“每日ICU入住率每百萬”,“每日醫院入住率”,“每日醫院入住率每百萬”,“每周新住院”,“每周新入院每百萬”])返回df#確保過濾器是否按預期運行。deftest_filter(raw_input_df):過濾後的=filter_country(raw_input_df)斷言過濾後的iso_codedrop_duplicates()(0]= =“美國”#每日的測試數據已經nan ICU入住率;這應該得到填充為0。deftest_pivot(raw_input_df):旋轉=pivot_and_clean(raw_input_df,0)斷言旋轉(“每日ICU占用”][0]= =0#測試列清洗。deftest_clean_cols(colnames_df):清洗=clean_spark_cols(colnames_df)cols_w_spaces=清洗過濾器(正則表達式=(”“))斷言cols_w_spaces= =真正的#測試列創建索引。deftest_index_to_col(raw_input_df):raw_input_df(“col_from_index”]=raw_input_df指數斷言(raw_input_df指數= =raw_input_dfcol_from_index)所有()

你的回購結構現在看起來應該像這樣:

|——covid_analysis |”——變換。py |——筆記本電腦| | - covid_eda_modular |”——covid_eda_raw(可選)|——需求。|——testdata txt”,測試。csv”——transforms_test.py

步驟4.3:運行測試

加快這個介紹,在這個子步你使用導入的筆記本運行前的測試。這筆記本下載並安裝測試的依賴Python包到您的工作空間,運行測試,並報告測試的結果。當你可以運行pytest從集群的網絡終端,運行pytest從筆記本電腦更方便。

請注意

運行pytest所有文件的名字按照形式運行test_ * . py\ * _test.py在當前目錄及其子目錄。

  1. 回購回購窗格中,單擊旁邊的下拉箭頭筆記本電腦文件夾,然後單擊進口

  2. 進口筆記本電腦對話框:

    1. 進口的中,選擇URL

    2. 輸入的原始內容的URLrun_unit_tests筆記本的磚/ notebook-best-practices在GitHub回購。得到這個網址:

      1. https://github.com/databricks/notebook-best-practices

      2. 單擊筆記本電腦文件夾中。

      3. 單擊run_unit_tests.py文件。

      4. 點擊

      5. 複製完整的URL從web瀏覽器的地址欄進口筆記本電腦對話框。

        請注意

        進口筆記本電腦對話框使用Git公共存儲庫url。

    3. 點擊進口

  3. 如果筆記本已經不顯示了,回購回購窗格中,單擊筆記本電腦文件夾,然後雙擊run_unit_tests筆記本。

  4. 在旁邊的下拉列表文件把這個筆記本,選擇集群。

  5. 點擊運行所有

  6. 如果有提示,單擊附加&運行首先,連接和運行

  7. 等待筆記本運行。

筆記本完成運行後,在筆記本上應該可以看到信息的數量通過和失敗的測試,以及其他相關的細節。如果集群不是已經開始運行這個筆記本時,可能需要幾分鍾的集群啟動之前顯示結果。

你的回購結構現在看起來應該像這樣:

|——covid_analysis |”——變換。py |——筆記本電腦| | - covid_eda_modular | | - covid_eda_raw(可選)|”——run_unit_tests |——需求。|——testdata txt”,測試。csv”——transforms_test.py

第五步:創建一個工作運行筆記本

在前麵的步驟,你測試你的共享代碼手動和手動跑你的筆記本。在這個步驟中,您使用一個磚工作自動測試共享代碼和運行您的筆記本,按需或定期。

步驟5.1:創建工作任務運行測試筆記本

  1. 在側邊欄數據科學與工程磚機器學習環境中,點擊工作流

  2. 工作選項卡上,單擊創建工作

  3. 添加一個名稱為您的工作(這是旁邊運行任務標簽),輸入covid_report

  4. 任務名稱,輸入run_notebook_tests

  5. 類型中,選擇筆記本

  6. 中,選擇Git

  7. 點擊添加一個git參考

  8. Git信息對話框:

    1. Git存儲庫URL,輸入GitHub克隆與HTTPSGitHub回購的URL。本文假設您的URL結尾best-notebooks.git例如,https://github.com/ < your-GitHub-username > / best-notebooks.git

    2. Git提供者中,選擇GitHub

    3. Git參考(分支/標記/提交),輸入主要

    4. 旁邊Git參考(分支/標記/提交)中,選擇分支

    5. 點擊確認

  9. 路徑,輸入筆記本/ run_unit_tests。不添加. py文件擴展名。

  10. 集群,從上一步選擇的集群。

  11. 點擊創建

請注意

在這個場景中,磚不建議您使用時間表按鈕在筆記本中描述創建和管理計劃的筆記本工作定期安排工作運行這個筆記本。這是因為計劃按鈕創建一個工作通過使用最新的工作筆記本在工作區中回購的副本。相反,磚建議你按照前麵的說明創建一個使用了最新的工作承諾版本的筆記本回購。

步驟5.2:創建工作任務運行主要的筆記本

  1. 單擊+(你的工作在這裏添加更多的任務)圖標。

  2. 任務名稱,輸入run_main_notebook

  3. 類型中,選擇筆記本

  4. 路徑,輸入筆記本/ covid_eda_modular。不添加. py文件擴展名。

  5. 集群,從上一步選擇的集群。

  6. 點擊創建任務

步驟5.3運行工作

  1. 點擊現在運行

  2. 在彈出窗口中,單擊查看運行

    請注意

    如果彈出消失得太快,然後執行以下操作:

    1. 在側邊欄數據科學與工程磚機器學習環境中,點擊工作流

    2. 工作運行選項卡上,單擊開始時間最新的工作價值covid_report工作列。

  3. 的工作結果,點擊run_notebook_tests瓷磚,run_main_notebook瓷磚,或兩者兼而有之。每個瓷磚上的結果是一樣的,如果你自己的筆記本,一個接一個。

請注意

這個工作需跑去。設置這個工作定期運行,明白了添加一個工作進度表

(可選)第六步:設置回購測試代碼和運行筆記本自動每次代碼更改

在前麵的步驟中,您使用一個工作自動測試您的共享代碼和運行您的筆記本電腦在一個時間點或經常性。然而,你可能更喜歡觸發測試時自動更改合並到GitHub回購。您可以執行自動化用CI / CD平台等Beplay体育安卓版本GitHub的行為

步驟6.1:建立GitHub訪問您的工作區

在這個步驟中,您建立了一個GitHub操作工作流運行的工作隻要更改合並到您的存儲庫工作區中。你這樣做給GitHub獨特的磚為訪問令牌。

出於安全原因,磚不鼓勵你給你的磚工作區GitHub用戶的個人訪問令牌。說明,請參閱GCP部分的運行磚筆記本GitHub的行動頁麵在GitHub的市場行為。

重要的

筆記本電腦運行的所有工作空間權限的身份令牌,所以磚建議使用一個服務主體。如果你真的想給你的磚工作區為個人用戶的個人訪問令牌GitHub勘探目的,你明白,出於安全考慮,磚不鼓勵這種做法,看到指示創建工作區中用戶的個人訪問令牌

步驟6.2:添加GitHub行動工作流

在這個步驟中,您添加一個GitHub操作工作流運行run_unit_tests筆記本電腦隻要有拉力要求回購。

這個分步存儲GitHub操作工作流的文件存儲在多個文件夾級別GitHub回購。GitHub的行動需要一個特定的嵌套文件夾層次結構存在於你的回購為了正常工作。要完成這一步,您必須使用GitHub回購的網站,因為磚回購的用戶界麵不支持創建嵌套文件夾層次結構。

  1. 在GitHub回購的網站,單擊代碼選項卡。

  2. 切換分支或標簽下拉列表中,選擇主要,如果尚未選中。

  3. 如果切換分支或標簽下拉列表不顯示找到或創建一個分支框中,單擊主要一次。

  4. 找到或創建一個分支框中,輸入adding_github_actions

  5. 點擊創建分支:adding_github_actions從“主”

  6. 點擊添加文件>創建新文件

  7. 命名您的文件,輸入.github /工作流/ databricks_pull_request_tests.yml

  8. 在編輯器窗口中,輸入以下代碼。這段代碼使用聲明pull_request鉤使用運行磚筆記本GitHub的行動運行run_unit_tests筆記本。

    在以下代碼中,替換:

    • < your-workspace-instance-URL >與你的磚實例名

    • < your-access-token >前麵生成的令牌。

    • < your-cluster-id >與你的目標集群ID

    的名字:運行測試pre-merge數據磚:pull_request:env:#這個值替換為您的工作區實例名。DATABRICKS_HOST:https:// < your-workspace-instance-name >工作:unit-test-notebook:運行在:ubuntu-latesttimeout-minutes:15步驟:- - - - - -的名字:檢驗回購使用:行動/ checkout@v2- - - - - -的名字:運行測試筆記本使用:磚/ run-notebook@main:databricks-token:< your-access-token >local-notebook-path:筆記本/ run_unit_tests.pyexisting-cluster-id:< your-cluster-id >git-commit:“$ {{github.event.pull_request.head.sha}}”#授予所有用戶視圖允許在筆記本的結果,這樣他們就可以#看筆記本的結果,如果他們有相關的訪問權限。access-control-list-json:>({“group_name”:“用戶”,:“permission_level CAN_VIEW”}]run-name:“EDA轉換助手模塊單位測試”
  9. 選擇創建一個新的分支提交並開始拉請求

  10. 點擊提出新文件

  11. 單擊把請求選項卡,然後創建請求。

  12. 在拉請求頁麵,等待圖標旁邊運行測試pre-merge數據磚/ unit-test-notebook (pull_request)顯示一個綠色的複選標記。(它可能會花幾分鍾的圖標出現。)如果有一個紅色的X,而不是一個綠色的複選標記,點擊細節為了找到原因。如果圖標或細節不再顯示,點擊顯示所有檢查

  13. 如果出現綠色複選標記,合並請求拉進主要分支。

(可選)第七步:更新共享代碼在GitHub觸發測試

在這個步驟中,您做出改變共享代碼,然後將改變到GitHub回購,這立即引發了自動測試,基於GitHub上一步的行動。

步驟7.1:創建另一個回購工作分支

  1. 在您的工作空間回購回購窗格中,單擊first_tests分支。

  2. best-notebooks對話框中,單擊旁邊的下拉箭頭first_tests分支,並選擇主要

  3. 單擊按鈕。如果提示繼續拉,點擊確認

  4. 單擊+(創建分支)按鈕。

  5. 輸入trigger_tests,然後按Enter鍵。(你可以給你的分支一個不同的名稱。)

  6. 關閉該對話框。

步驟7.2:改變共享代碼

  1. 在您的工作空間回購回購麵板,雙擊covid_analysis / transforms.py文件。

  2. 在這個文件的第三行,改變這行代碼:

    由國家代碼#過濾器。

    :

    由國家代碼#過濾器。如果沒有指定,用“美國”。

步驟7.3:改變觸發測試檢查

  1. 回購回購窗格中,單擊trigger_tests分支。

  2. best-notebooks對話框,變化選項卡中,確保covid_analysis / transforms.py被選中。

  3. 總結(必需),輸入更新評論

  4. 描述(可選),輸入更新評論filter_country。

  5. 點擊提交和推

  6. 點擊曆史,或點擊創建一個請求對git提供者在彈出的鏈接。

  7. 在GitHub,單擊把請求選項卡,然後創建請求。

  8. 在拉請求頁麵,等待圖標旁邊運行測試pre-merge數據磚/ unit-test-notebook (pull_request)顯示一個綠色的複選標記。(它可能會花幾分鍾的圖標出現。)如果有一個紅色的X,而不是一個綠色的複選標記,點擊細節為了找到原因。如果圖標或細節不再顯示,點擊顯示所有檢查

  9. 如果出現綠色複選標記,合並請求拉進主要分支。