Eu tenho este pipeline:
name: Build and deploy Python app to Azure Web App - app-xx-xx-api-dev
on:
push:
branches:
- dev
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Set up Python version
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: |
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
- name: DNA Utils
run: |
python -m venv venv
source venv/bin/activate
pip install git+https://${{ secrets.MACHINE_USER_PAT }}@github.com/xxx-dna/dna-utils.git@main
Como você pode ver, separamos a instalação dos requisitos e do pacote privado. Isso não é problema ao executar o pipeline no GitHub.
Entretanto, ao executar localmente em um Dev Box, você normalmente chamaria apenas:
pip install -r requirements.txt
Agora, o desenvolvedor também precisa instalar o pacote privado. E se tivermos mais, a coisa começa a ficar complexa.
Não estamos apenas adicionando o token, pois não o queremos no código do repositório. Isso pode ser resolvido de uma maneira mais adequada?