> ## 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.

# アーティファクト

> アーティファクトへのアクセス

スナップショットのセットアップ時にアーティファクトを使用するには、リポジトリの設定時に対象のアーティファクトに対する認証を行う必要があります。

アーティファクト認証用のシークレットを保存する必要がある場合は、マシンのファイルシステム上に直接保存する (例: ファイルに保存する、または環境変数としてエクスポートする) か、[Devin シークレットマネージャー](/ja/product-guides/secrets) を使用できます。以下に、AWS、Azure、JFrog 向けのセクションがあります。

アーティファクトがプライベートネットワーク上にある場合は、[デプロイオプション](/ja/enterprise/deployment/overview) を参照してください。

<div id="devin-machine-setup">
  ## Devin マシンのセットアップ
</div>

アーティファクトリポジトリと連携するには、適切な認証情報とツールを使用して Devin マシンを設定する必要があります。これを行う主な方法は 2 つあります。

1. Devin 内の統合ターミナルを使用して、アーティファクトリポジトリ用のツールをマシン上に直接インストールおよび設定します。
2. (リポジトリ設定時に Devin の Machine の中央カラムにある) **Setup Agent** タブを使用し、セットアップを支援するよう Devin に指示します。

<Frame caption="統合ターミナルを使用した Jfrog リポジトリセットアップの例">
  <img src="https://mintcdn.com/cognitionai/3GUHd_GCvClklCye/images/artifacts/Jfrog-repo-setup.png?fit=max&auto=format&n=3GUHd_GCvClklCye&q=85&s=a697a0f544fe7b8fe838b990deed0f31" alt="Example of using Jfrog Repo Setup" width="3534" height="1992" data-path="images/artifacts/Jfrog-repo-setup.png" />
</Frame>

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

### 手順 1: 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">
  ### ステップ 2: アーティファクトをダウンロード
</div>

```bash theme={null}
#!/bin/bash

# Artifactoryインスタンスとアーティファクトの詳細に関する変数を設定
ARTIFACTORY_URL="https://your-artifactory-instance.jfrog.io/artifactory"  # ArtifactoryのURLに変更
REPO="my-repository"  # リポジトリ名に置き換え
ARTIFACT_PATH="my-artifact/my-package/1.0.0/my-package-1.0.0.jar"  # Artifactory内のアーティファクトへのパス
OUTPUT_DIR="./downloads"  # ダウンロードしたアーティファクトの保存先ディレクトリ

## ステップ1: アーティファクトをダウンロード
echo "$ARTIFACTORY_URLから$ARTIFACT_PATHをダウンロード中"
jfrog rt dl "$REPO/$ARTIFACT_PATH" "$OUTPUT_DIR/"

## ステップ2: ダウンロードが成功したか確認
if [ $? -eq 0 ]; then
  echo "アーティファクトを$OUTPUT_DIR/に正常にダウンロードしました"
else
  echo "アーティファクトのダウンロードに失敗しました。"
  exit 1
fi
```

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

### 手順 1: CLI をダウンロードする

```bash theme={null}
#!/bin/bash

# 変数
ROLE_NAME="robot-artifact-iam-role"
POLICY_ARN="arn:aws:iam::aws:policy/AWSArtifactReadOnlyAccess"
KEY_PAIR_NAME="robot-artifact-key-pair"

# ステップ1: AWS Artifact用のIAMロールを作成
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

# IAMロールが正常に作成されたかを確認
if [ $? -eq 0 ]; then
  echo "IAM Role $ROLE_NAME created successfully."
else
  echo "Failed to create IAM Role $ROLE_NAME."
  exit 1
fi

# ステップ2: 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

# ステップ3: IAMアクセスキーを作成(プログラムアクセス用)
echo "Creating Access Keys for IAM Role: $ROLE_NAME"
aws iam create-access-key \
  --user-name "$ROLE_NAME" \
  > access_keys_output.json

# キーが作成されたかを確認
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

# ステップ4: IAMロールとアクセスキー情報を表示
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">
  ### ステップ 2: アーティファクトのダウンロード
</div>

```bash theme={null}
#!/bin/bash

# 変数
ARTIFACT_ID="example-artifact-id"  # 実際のArtifact IDに置き換えてください
# ステップ1: レポートをダウンロードするためのArtifact URLをGET
echo "Artifact ID: $ARTIFACT_ID のアーティファクトダウンロードURLを取得中"
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">
  ### ステップ 1: CLI をダウンロードする
</div>

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

# パッケージリストを更新して .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">
  ### ステップ 2: PAT の生成
</div>

次に、Personal Access Token (PAT) を生成する必要があります。

1. [Azure DevOps ポータル](https://dev.azure.com) にログインします。
2. 画面右上のプロフィールをクリックし、**Security** を選択します。
3. **Personal Access Tokens** セクションで、**New Token** をクリックします。
4. トークンのスコープを設定します。Azure Artifacts にアクセスするには、少なくとも **"Packaging (read)"** スコープが必要です。
5. PAT は再表示できないため、安全な場所に保存してください。

<div id="step-3-configure-npmrc-file">
  ### 手順 3: .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
```

NuGet を使用している場合は、次のものが必要になります。

```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
```

Azure 上の Docker アーティファクトが必要な場合:

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

<Note>
  Devin Enterprise のご利用を開始するには、弊社の[エンタープライズ営業チーム](mailto:enterprise@cognition.ai)までお問い合わせください。
</Note>
