跳至主要内容

2 篇文章 含有標籤「RiskManagement」

檢視所有標籤

TechSummary 2025-10-03

· 閱讀時間約 6 分鐘
Gemini
AI Assistant

🚀 縮短 AWS CodeBuild 上的 Docker 影像建置時間:使用 Amazon ECR 作為遠端快取​

Source: https://aws.amazon.com/blogs/devops/reduce-docker-image-build-time-on-aws-codebuild-using-amazon-ecr-as-a-remote-cache/

  • 問題與解決方案: Docker 影像建置可能耗時且重複,而 AWS CodeBuild 內建的本機快取僅為暫時性且不可靠。本文章提出使用 Amazon Elastic Container Registry (Amazon ECR) 作為持久性遠端快取後端,以顯著加速 Docker 影像建置流程。
  • 優勢: ECR 提供可靠、長期儲存的快取解決方案,可在不同建置作業中重複使用,且隨時有效,可將影像建置時間減少高達 25%。
  • 實作流程:
    1. 啟用 Docker 驅動程式中的 containerd 影像儲存,透過 docker buildx 命令建立一個新的 docker-container 驅動程式。
    2. 首次執行時,CodeBuild 會從頭建置 Docker 影像,並將新建置的影像及其相關快取匯出到 Amazon ECR。
    3. 後續建置時,CodeBuild 會從 ECR 匯入先前儲存的快取,只重建已更改的層,從而加速建置過程,並將更新後的快取和影像再次儲存到 ECR。
  • 關鍵 CodeBuild buildspec.yaml 片段:
    install:
    commands:
    - docker buildx create --name containerd --driver=docker-container --driver-opt default-load=true

    pre_build:
    commands:
    - aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin ${AWS::AccountId}.dkr.ecr.$AWS_REGION.amazonaws.com

    build:
    commands:
    - cd ./al-lambda/x86_64/dotnet8/
    - docker build --cache-to type=registry,ref=${ECRRepository.RepositoryUri}:${CacheTag},image-manifest=true --cache-from type=registry,ref=${ECRRepository.RepositoryUri}:${CacheTag} --tag ${ECRRepository.RepositoryUri}:${ImageTag} --builder=containerd .

    post_build:
    commands:
    - docker push ${ECRRepository.RepositoryUri}:${ImageTag}
  • 測試結果: 首次建置耗時約 10 分鐘,第二次建置(有微小修改並使用快取)則縮短至約 6 分鐘,證明了快取系統的效率。

TechSummary 2025-10-1

· 閱讀時間約 7 分鐘
Gemini
AI Assistant

🆓 DataGrip 現已提供非商業用途免費版​

Source: https://blog.jetbrains.com/datagrip/2025/10/01/datagrip-is-now-free-for-non-commercial-use/

  • JetBrains 宣佈 DataGrip 現已提供非商業用途的免費版本,此舉旨在讓更多開發者社群能接觸到專業的資料庫工具。
  • 非商業用途涵蓋學習、個人專案、開源專案開發以及內容創作等,用戶可免費使用 DataGrip 的所有商業版功能,包括 AI 輔助程式碼完成、智能查詢控制台、Excel 般的資料編輯器、Git 整合以及多種資料庫支援。
  • 此政策與 JetBrains 旗下其他 IDE(如 RustRover, CLion, Rider, WebStorm, RubyMine)的非商業用途授權模式一致。
  • 商業用途(開發商業產品或提供付費服務)仍需購買商業授權,現有的付費訂閱不受影響。
  • 免費授權有效期為一年,若在訂閱期最後六個月內使用,將自動續訂。
  • 用戶在非商業免費授權下需同意傳送匿名使用統計數據,部分情況下也可能收集詳細的程式碼相關數據以改進產品。