如何在GitHub Actions中从Azure Artifacts源安装Python包?
在GitHub Actions中认证Azure Artifacts安装Python依赖的最佳实践
1. 准备受限权限的Azure DevOps PAT
先在Azure DevOps中创建一个仅具备Packaging (Read)权限的个人访问令牌(PAT),最小化权限范围可降低泄露风险。创建完成后,将这个PAT添加到GitHub仓库的Secrets中(建议命名为AZURE_ARTIFACTS_PAT)。
2. 在工作流中配置pip源
推荐通过动态生成pip配置文件的方式嵌入认证信息,避免硬编码敏感数据:
针对Linux/macOS环境的工作流步骤:
- name: 配置pip访问Azure Artifacts run: | mkdir -p ~/.config/pip cat > ~/.config/pip/pip.conf << EOF [global] extra-index-url=https://<你的Azure组织名>:${{ secrets.AZURE_ARTIFACTS_PAT }}@pkgs.dev.azure.com/<你的Azure组织名>/<你的项目名>/_packaging/<你的饲料库名称>/pypi/simple/ EOF shell: bash
针对Windows环境的工作流步骤:
- name: 配置pip访问Azure Artifacts run: | New-Item -Path $env:APPDATA\pip -Name pip.ini -ItemType File -Force Add-Content -Path $env:APPDATA\pip\pip.ini -Value "[global]" Add-Content -Path $env:APPDATA\pip\pip.ini -Value "extra-index-url=https://<你的Azure组织名>:${{ secrets.AZURE_ARTIFACTS_PAT }}@pkgs.dev.azure.com/<你的Azure组织名>/<你的项目名>/_packaging/<你的饲料库名称>/pypi/simple/" shell: pwsh
注意替换上述代码中的占位符:<你的Azure组织名>、<你的项目名>、<你的饲料库名称>。
3. 安装依赖
配置完成后,直接执行常规的pip安装命令即可,pip会自动使用配置好的认证源:
- name: 安装项目依赖 run: pip install -r requirements.txt
安全提示
- 始终遵循最小权限原则,不要给PAT分配超出必要的权限(比如不要给Full Access)。
- 定期轮换你的Azure DevOps PAT,降低长期泄露的风险。
- 绝对不要将PAT硬编码到代码、配置文件或工作流文件中,必须通过GitHub Secrets管理。
内容的提问来源于stack exchange,提问作者juhat
相关产品推荐
相关产品推荐

