> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Artefatos

> Acessando seus artefatos

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](/pt-BR/product-guides/secrets). Abaixo estão seções para AWS, Azure e JFrog

Se seus artefatos estiverem em uma rede privada, consulte [Opções de implantação](/pt-BR/enterprise/deployment/overview)

<div id="devin-machine-setup">
  ## Configuração da Máquina Devin
</div>

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.

<Frame caption="Exemplo de uso do Terminal integrado para configuração de repositório do JFrog">
  <img src="https://mintcdn.com/cognitionai-enterprise/Z0RU7teHVwTGLph8/images/artifacts/Jfrog-repo-setup.png?fit=max&auto=format&n=Z0RU7teHVwTGLph8&q=85&s=41ec3c0e7807acc7bbb29e96e598baae" alt="Exemplo de uso da configuração de repositório do JFrog" width="3534" height="1992" data-path="images/artifacts/Jfrog-repo-setup.png" />
</Frame>

<div id="jfrog-artifactory">
  ## Jfrog Artifactory
</div>

### Etapa 1: Baixar a CLI

```bash theme={null}
curl -fL https://getcli.jfrog.io | sh
sudo mv jfrog /usr/local/bin/
jfrog config add
jfrog rt config
```

<div id="step-2-download-artifact">
  ### Etapa 2: Baixar o artefato
</div>

```bash theme={null}
#!/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
```

<div id="aws-code-artifact">
  ## AWS CodeArtifact
</div>

### Etapa 1: Baixar a CLI

```bash theme={null}
#!/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"
```

<div id="step-2-downloading-artifact">
  ### Etapa 2: Download do artefato
</div>

```bash theme={null}
#!/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)
```

<div id="azure-artifacts">
  ## Azure Artifacts
</div>

<div id="step-1-downloading-cli">
  ### Etapa 1: Baixando a CLI
</div>

```bash theme={null}
# 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
```

<div id="step-2-generating-a-pat">
  ### Etapa 2: Gerando um PAT
</div>

Em seguida, você precisará gerar um token de acesso pessoal (PAT).

1. Faça login no seu [portal do Azure DevOps](https://dev.azure.com).
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.

<div id="step-3-configure-npmrc-file">
  ### Etapa 3: Configure o arquivo .npmrc
</div>

```bash theme={null}
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:

```bash theme={null}
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:

```bash theme={null}
echo your-PAT | docker login https://your-organization-name.azurecr.io --username your-username --password-stdin
```

<Note>
  Para começar a usar o Devin Enterprise, entre em contato com nossa [equipe de vendas Enterprise](mailto:enterprise@cognition.ai).
</Note>
