Documentation Index
Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
Use this file to discover all available pages before exploring further.
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 Opções de implantação
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:
- Usar o Terminal integrado do Devin para instalar e configurar as ferramentas de repositório de artefatos diretamente na máquina.
- 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.
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
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)
# 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
Em seguida, você precisará gerar um token de acesso pessoal (PAT).
- Faça login no seu portal do Azure DevOps.
- No canto superior direito, clique no seu perfil e selecione Security.
- Na seção Personal Access Tokens, clique em New Token.
- Defina os escopos do token. Você precisará de pelo menos o escopo “Packaging (read)” para acessar o Azure Artifacts.
- Salve seu PAT com segurança, pois você não poderá visualizá-lo novamente.
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