Pular para o conteúdo principal
Para usar artefatos durante a configuração do snapshot, você precisará se autenticar com eles ao configurar o repositório. Se você precisar armazenar segredos para autenticação de artefatos, pode salvá-los diretamente no sistema de arquivos da máquina (por exemplo, em um arquivo ou exportando variáveis de ambiente) ou usar o Gerenciador de Segredos do Devin. Abaixo estão seções para AWS, Azure e JFrog Se seus artefatos estiverem em uma rede privada, consulte Implantação em VPC

Configuração da Máquina Devin

Para integrar-se aos seus repositórios de artefatos, você precisará configurar sua Máquina Devin com as credenciais e ferramentas apropriadas. Existem duas principais maneiras de fazer isso:
  1. Usar o Terminal integrado do Devin para instalar e configurar as ferramentas de repositório de artefatos diretamente na máquina.
  2. Usar a aba Setup Agent (localizada na coluna central da Máquina Devin durante a configuração do repositório) e pedir ao Devin para auxiliar na configuração.
Exemplo de uso da configuração de repositório do JFrog

Exemplo de uso do Terminal integrado para configuração de repositório do JFrog

Jfrog Artifactory

Etapa 1: Baixar a CLI

curl -fL https://getcli.jfrog.io | sh
sudo mv jfrog /usr/local/bin/
jfrog config add
jfrog rt config

Etapa 2: Baixar o artefato

#!/bin/bash

# Defina as variáveis para sua instância do Artifactory e detalhes do artefato
ARTIFACTORY_URL="https://your-artifactory-instance.jfrog.io/artifactory"  # Altere isto para a URL do seu Artifactory
REPO="my-repository"  # Substitua pelo nome do seu repositório
ARTIFACT_PATH="my-artifact/my-package/1.0.0/my-package-1.0.0.jar"  # Caminho para o seu artefato no Artifactory
OUTPUT_DIR="./downloads"  # Diretório para salvar o artefato baixado

## Etapa 1: Fazer o download do artefato
echo "Fazendo download do artefato $ARTIFACT_PATH de $ARTIFACTORY_URL"
jfrog rt dl "$REPO/$ARTIFACT_PATH" "$OUTPUT_DIR/"

## Etapa 2: Verificar se o download foi bem-sucedido
if [ $? -eq 0 ]; then
  echo "Artefato baixado com sucesso em $OUTPUT_DIR/"
else
  echo "Falha ao fazer o download do artefato."
  exit 1
fi

AWS CodeArtifact

Etapa 1: Baixar a CLI

#!/bin/bash

# Variáveis
ROLE_NAME="robot-artifact-iam-role"
POLICY_ARN="arn:aws:iam::aws:policy/AWSArtifactReadOnlyAccess"
KEY_PAIR_NAME="robot-artifact-key-pair"

# Etapa 1: Criar role IAM para AWS Artifact
echo "Creating IAM Role: $ROLE_NAME"
aws iam create-role \
  --role-name "$ROLE_NAME" \
  --assume-role-policy-document '{
    "Version": "2012-10-17",
    "Statement": [
      {
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Principal": {
          "Service": "artifact.amazonaws.com"
        }
      }
    ]
  }' > create_role_output.json

# Verificar se o role IAM foi criado com sucesso
if [ $? -eq 0 ]; then
  echo "IAM Role $ROLE_NAME created successfully."
else
  echo "Failed to create IAM Role $ROLE_NAME."
  exit 1
fi

# Etapa 2: Anexar política ao role para acesso ao Artifact
echo "Attaching AWSArtifactReadOnlyAccess policy to IAM Role $ROLE_NAME"
aws iam attach-role-policy \
  --role-name "$ROLE_NAME" \
  --policy-arn "$POLICY_ARN"

if [ $? -eq 0 ]; then
  echo "Policy attached successfully."
else
  echo "Failed to attach policy."
  exit 1
fi

# Etapa 3: Criar chaves de acesso IAM (para acesso programático)
echo "Creating Access Keys for IAM Role: $ROLE_NAME"
aws iam create-access-key \
  --user-name "$ROLE_NAME" \
  > access_keys_output.json

# Verificar se as chaves foram criadas
if [ $? -eq 0 ]; then
  echo "Access keys created successfully."
  ACCESS_KEY_ID=$(jq -r '.AccessKey.AccessKeyId' access_keys_output.json)
  SECRET_ACCESS_KEY=$(jq -r '.AccessKey.SecretAccessKey' access_keys_output.json)

  echo "Access Key ID: $ACCESS_KEY_ID"
  echo "Secret Access Key: $SECRET_ACCESS_KEY"
else
  echo "Failed to create access keys."
  exit 1
fi

# Etapa 4: Exibir as informações do role IAM e da chave de acesso
echo "IAM Role $ROLE_NAME has been created with the policy: $POLICY_ARN"
echo "Access Key ID: $ACCESS_KEY_ID"
echo "Secret Access Key: $SECRET_ACCESS_KEY"

Etapa 2: Download do artefato

#!/bin/bash

# Variables
ARTIFACT_ID="example-artifact-id"  # Replace with the actual Artifact ID
# Passo 1: Obter a URL do Artifact para baixar o relatório
echo "Buscando URL de download do artifact para o ID do Artifact: $ARTIFACT_ID"
DOWNLOAD_URL=$(aws artifact describe-artifact \
  --artifact-id "$ARTIFACT_ID" \
  --query "artifactDetails[0].downloadUrl" \
  --output text)

Azure Artifacts

Etapa 1: Baixando a CLI

# Instalar o repositório de pacotes da Microsoft
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

# Atualizar as listas de pacotes e instalar o .NET SDK
sudo apt update
sudo apt install -y dotnet-sdk-8.0
dotnet tool install -g AzureArtifactsCredentialProvider

Etapa 2: Gerando um PAT

Em seguida, você precisará gerar um token de acesso pessoal (PAT).
  1. Faça login no seu portal do Azure DevOps.
  2. No canto superior direito, clique no seu perfil e selecione Security.
  3. Na seção Personal Access Tokens, clique em New Token.
  4. Defina os escopos do token. Você precisará de pelo menos o escopo “Packaging (read)” para acessar o Azure Artifacts.
  5. Salve seu PAT com segurança, pois você não poderá visualizá-lo novamente.

Etapa 3: Configure o arquivo .npmrc

echo "//pkgs.dev.azure.com/your-organization-name/_packaging/your-feed-name/npm/registry/:username=AzureDevOps" >> ~/.npmrc
echo "//pkgs.dev.azure.com/your-organization-name/_packaging/your-feed-name/npm/registry/:_password=$(echo -n your-PAT | base64)" >> ~/.npmrc
Ao trabalhar com NuGet, você vai precisar do seguinte:
mkdir -p ~/.nuget
cat <<EOL > ~/.nuget/nuget.config
<configuration>
  <packageSources>
    <add key="Azure Artifacts" value="https://pkgs.dev.azure.com/your-organization-name/_packaging/your-feed-name/nuget/v3/index.json" />
  </packageSources>
  <packageSourceCredentials>
    <Azure_Artifacts>
      <add key="Username" value="AzureDevOps" />
      <add key="ClearTextPassword" value="your-PAT" />
    </Azure_Artifacts>
  </packageSourceCredentials>
</configuration>
EOL
Se você precisar de artefatos Docker do Azure:
echo your-PAT | docker login https://your-organization-name.azurecr.io --username your-username --password-stdin
Para começar a usar o Devin Enterprise, entre em contato com nossa equipe de vendas Enterprise.