久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

如何在 Azure DevOps 上使您的包依賴項保持最新

作為開發人員,您是否經常看到包含過期軟件包的存儲庫?

新軟件包更新通常包括新功能、性能改進和安全修復。但是跟蹤項目中所有過時的依賴項可能非常無聊且耗時,尤其是當您有很多依賴項時。

所以為了做這種家務,我嘗試了Dependabot

Dependabot 的工作原理

Dependabot 遍歷項目的依賴文件。例如,它會搜索您的package.jsonpom.xml文件并檢查任何過時或不安全的依賴項。如果找到,它會打開單獨的拉取請求以更新每個拉取請求。

該工具與 GitHub 原生集成。但最近,我不得不為在 Azure DevOps 中運行的項目解決更新依賴項的問題。所以我決定找到一種解決方法,將 Dependabot 與 Azure Pipelines 集成。在這篇博文中,我將分享我的解決方案。

如果你去Azure DevOps Extension Marketplace并搜索“Dependabot”,你會發現一個由 Tingle Software提供的擴展。使用此擴展,我們可以輕松地將 Dependabot 與我們在 Azure DevOps 中的存儲庫集成。

你可以在 Azure DevOps 的“組織設置”中檢查是否有此擴展。如果沒有,請確保在繼續之前已安裝它。

1-2
已安裝的擴展 - Azure DevOps

如何創建 Azure 管道

YAML現在讓我們從為您的 azure 管道創建一個新文件開始:

trigger: none

stages:
  - stage: CheckDependencies
    displayName: 'Check Dependencies'
    jobs:
      - job: Dependabot
        displayName: 'Run Dependabot'
        pool:
          vmImage: 'ubuntu-latest'
        steps:
          - task: dependabot@1
            displayName: 'Run Dependabot'
            inputs:
              packageManager: 'npm'
              targetBranch: 'develop'
              openPullRequestsLimit: 10

在任務參數中,我指定了三個參數:

  1. packageManager:它指定檢查依賴項升級的包類型。例如:nuget,?maven,?gradle,?npm, 等等。
  2. targetBranch:它是一個可選參數,用于定義創建拉取請求時要定位的分支。如果未指定,Dependabot 將選擇default存儲庫的分支。
  3. openPullRequestsLimit:這又是一個可選參數,用于指定任何時候打開的拉取請求的最大數量。默認情況下,它一次打開 5 個拉取請求。

您可以通過擴展支持的所有任務參數來調整您的實現。現在只需使用新的 azure 管道配置此 YAML 文件,然后您就可以運行它了。

3-2
管道配置 - Azure DevOps

下一步是授予存儲庫的Project Collection Build Service訪問權限,以便 Dependabot 可以創建對項目存儲庫的拉取請求。

為此,請轉到您的項目設置。在這里,您單擊存儲庫并搜索已集成管道的存儲庫。

選擇后,單擊安全選項卡并搜索project collection build service。您必須允許以下訪問它:

  • 貢獻
  • 參與拉取請求
  • 創建分支
  • 創建標簽
  • 強制推送
2-1
獲得在回購中提高公關的權限

有了這個,您就可以完全準備好運行管道了。完成后,您將開始在存儲庫中接收包含更新包的拉取請求。

5-3
Dependabot 提出的 PR

如何調度管道

到目前為止,您必須手動觸發管道運行。要使其自動運行,您可以為管道配置計劃。這將觸發您的管道根據計劃啟動。

使用以下語法并將其添加到YAML文件的最頂部:

schedules:
- cron: string
  displayName: string
  branches:
    include: [ string ]
  always: boolean

branches?'?include參數指定調度適用于哪些分支。

always參數指定是“始終”運行管道還是僅在自上次成功的計劃運行后發生任何源代碼更改時才運行。默認值為假。

對于這種情況,您將其值設置為true,因為 Dependabot 更新獨立于任何代碼更改。

cron 計劃的時區是 UTC,cron 語法如下:

mm HH DD MM DW
         __ Days of week
        ____ Months
       ______ Days
      ________ Hours
     __________ Minutes

因此,如果您想在每周日世界標準時間 12 點運行您的管道,您需要編寫 -?cron: "0 12 * * 0"(更新 cron 以滿足您的需要)。

這是添加時間表后您的期末YAML考試的樣子:

schedules:
  - cron: "0 12 * * 0"
    displayName: Weekly Dependency Updates
    branches:
      include:
      - develop
    always: true
    
trigger: none

stages:
  - stage: CheckDependencies
    displayName: 'Check Dependencies'
    jobs:
      - job: Dependabot
        displayName: 'Run Dependabot'
        pool:
          vmImage: 'ubuntu-latest'
        steps:
          - task: dependabot@1
            displayName: 'Run Dependabot'
            inputs:
              packageManager: 'npm'
              targetBranch: 'develop'
              openPullRequestsLimit: 10

此管道為您執行以下操作:

它每周運行一次(在本例中為 UTC 時間周日下午 12 點),并查找任何過時或不安全的依賴項。如果找到,它會打開拉取請求以單獨更新每個請求。

希望這將幫助您在 Azure DevOps 中使您的項目依賴項保持最新!

原文鏈接:https://www.freecodecamp.org/news/keep-package-dependencies-up-to-date-on-azure-devops/

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 德令哈市| 丰宁| 枝江市| 察雅县| 醴陵市| 青龙| 嘉兴市| 高州市| 水城县| 乃东县| 拜泉县| 方城县| 辽宁省| 库伦旗| 毕节市| 雅江县| 平顶山市| 霞浦县| 嘉峪关市| 墨玉县| 滨州市| 余干县| 香格里拉县| 乌拉特前旗| 会理县| 海原县| 景谷| 沙河市| 伊春市| 辽宁省| 辽阳市| 新河县| 湖口县| 吕梁市| 托里县| 博兴县| 务川| 修水县| 玉林市| 武威市| 上犹县|