Configurar o comportamento a montante
Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019
Com as fontes upstream do Azure Artifacts, os desenvolvedores obtêm a conveniência de utilizar um feed unificado para publicar e consumir pacotes de feeds de artefatos e registros públicos populares como NuGet.org ou npmjs.com. Anteriormente, os feeds de artefato combinavam uma lista de versões de pacotes disponíveis do próprio feed e de todas as fontes upstream configuradas.
O comportamento upstream é um recurso que permite que os desenvolvedores escolham se desejam consumir versões de pacotes de origem externa. Regula quais os pacotes acessíveis a partir dos registos públicos para pacotes específicos.
Depois que o comportamento upstream é habilitado, quando um pacote é publicado em seu feed de Artefatos do Azure, qualquer versão do registro público é bloqueada e não é disponibilizada para download.
Essa abordagem adiciona uma camada extra de segurança, impedindo a exposição potencial a pacotes mal-intencionados que podem ter se infiltrado nos registros públicos.
No entanto, os usuários ainda podem desativar a configuração de comportamento upstream, permitindo que consumam pacotes dos registros públicos, se preferirem.
Nota
O novo comportamento não afetará nenhuma versão de pacote que esteja em uso no momento, pois eles são preservados na visualização de @local do feed.
Cenários aplicáveis
A seção a seguir ilustra vários cenários comuns em que o comportamento upstream é acionado para bloquear versões de pacotes de origem externa e outros cenários em que não há necessidade de bloquear o acesso a pacotes públicos.
As versões públicas estão bloqueadas
Versão do pacote privado tornada pública
Nesse cenário, uma equipe tem um pacote privado que foi tornado público. O comportamento upstream, neste caso, será acionado para bloquear quaisquer novas versões públicas (pacotes não confiáveis).
Ter pacotes privados e públicos
Nesse cenário, se uma equipe usa uma combinação de pacotes privados e públicos, habilitar o comportamento upstream bloqueia quaisquer novas versões de pacote do registro público.
As versões públicas não serão bloqueadas
Todos os pacotes são privados*
Se todos os pacotes existentes forem privados e a equipe não tiver planos de usar nenhum pacote público, o novo comportamento upstream não terá efeito sobre o fluxo de trabalho da equipe nesse cenário.
Todos os pacotes são públicos
Nesse cenário, se a equipe consome exclusivamente pacotes públicos, seja do registro público ou de outros repositórios de código aberto, o novo comportamento upstream não afetará seu fluxo de trabalho de forma alguma.
Pacote público privado
Nessa situação, quando um pacote público é convertido em um pacote privado, o novo comportamento upstream não afeta o fluxo de trabalho da equipe de forma alguma.
Permitir versões externas
Nota
Você deve ser um proprietário de feed para permitir versões de origem externa. Para obter mais informações, consulte Permissões de feed.
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos e, em seguida, selecione seu feed no menu suspenso.
Selecione seu pacote e, em seguida, selecione o botão de reticências para obter mais opções. Selecione Permitir versões de origem externa.
Selecione o botão de alternância para permitir versões externas. Selecione Fechar quando terminar.
Permitir versões externas usando a API REST
Permitir versões externas usando o PowerShell
Crie um token de acesso pessoal com Empacotamento>Ler, escrever, & gerenciar permissões.
Crie uma variável de ambiente para seu token de acesso pessoal.
$env:PATVAR = "YOUR_PERSONAL_ACCESS_TOKEN"
Converta seu token de acesso pessoal para a cadeia de caracteres codificada baser64 e construa o cabeçalho da solicitação HTTP.
$token = [Convert]::ToBase64String(([Text.Encoding]::ASCII.GetBytes("username:$env:PatVar"))) $headers = @{ Authorization = "Basic $token" }
Construa o URL do seu ponto final. Exemplo: //pkgs.dev.azure.com/MyOrg/MyProject/_apis/packaging/feeds/MyFeed/nuget/packages/pkg1.0.0.nupkg/upstreaming?api-version=6.1-preview.1
Feed com escopo do projeto:
$url = "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_apis/packaging/feeds/<FEED_NAME>/<PROTOCOL>/packages/<PACKAGE_NAME>/upstreaming?api-version=6.1-preview.1"
Feed com escopo da organização:
$url = "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_apis/packaging/feeds/<FEED_NAME>/<PROTOCOL>/packages/<PACKAGE_NAME>/upstreaming?api-version=6.1-preview.1"
- Obter comportamento de upstreaming
- Configurar o comportamento de upstreaming
- Limpar o comportamento de upstreaming
Execute o seguinte comando para recuperar o estado de comportamento upstream do seu pacote. $url
e $headers
são as mesmas variáveis que usamos na seção anterior.
Invoke-RestMethod -Uri $url -Headers $headers
Artigos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários