Xác thực với Azure Artifacts từ Dockerfile cho Java (Maven), NPM
Một số người có thể vui lòng cung cấp giải pháp được đề xuất để xác thực bên trong Dockerfile trong giai đoạn xây dựng docker cho Azure Artifacts cho Maven , NPM hoặc Python là gì không?
Mặc dù hầu hết các giải pháp cho vấn đề cụ thể khi truy cập nguồn cấp dữ liệu được xác thực của Azure Artifacts trong khi xây dựng từ bên trong Dockerfile đã được đề cập trên Stack Overflow hoặc trên internet (trong các bài viết khác nhau như bên dưới) đã nhắm mục tiêu đến hệ sinh thái nuget, câu hỏi của tôi là Gói Maven , NPM hoặc Python .
Các blog mẫu cung cấp giải pháp cho nuget & docker-
- https://blog.ehn.nu/2019/05/accessing-azure-artifacts-feed-in-a-docker-build/
Đánh giá cao sự giúp đỡ ở đây.
Trả lời
Câu hỏi của tôi dành cho Gói Maven, NPM hoặc Python.
Các loại gói này đến từ các hệ thống khác nhau, vì vậy chúng ta nên sử dụng các cách khác nhau để xác thực chúng.
Đối với Maven:
Kiểm tra thiết lập-nguồn cấp dữ liệu của bạn . Bạn nên định cấu hình pom.xmltệp của mình để xác định url, sau đó xác định settings.xmltệp bằng PAT. Bạn có thể quản lý hai tệp này trong dự án của mình, sau đó sử dụng Dockerfile để sao chép settings.xmlvào ${user.home}/.m2thư mục.
Đối với NPM:
Bạn có thể theo dõi Otherchủ đề tại đây để định cấu hình một chủ đề .npmrcchứa thông tin đăng nhập. Ngoài ra, tôi nghĩ bạn có thể tạo một .npmrctệp bình thường , và sau đó sử dụng Npm Authenticate taskđể sửa đổi nó. Đây là một mẫu làm việc .
Đối với Python:
Chúng ta có thể sử dụng tác vụ Pip Authenticate để điền PIP_EXTRA_INDEX_URLbiến môi trường và chuyển nó dưới dạng đối số xây dựng. Một cái gì đó như thế này:arguments: --build-arg INDEX_URL=$(PIP_EXTRA_INDEX_URL)
Bạn có thể kiểm tra hai câu trả lời từ vấn đề tương tự này để biết thêm chi tiết.