

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CodeCatalyst パッケージリポジトリにパッケージを公開する
<a name="package-publishing"></a>

 パッケージマネージャーツールを使用して、サポートされている任意のパッケージタイプのバージョンを CodeCatalyst パッケージリポジトリに公開できます。パッケージバージョンを公開するステップは次のとおりです。

**CodeCatalyst パッケージリポジトリにパッケージバージョンを公開するには**

1. まだ作成していない場合は、[パッケージリポジトリを作成します](packages-repositories-create.md)。

1. パッケージマネージャーをパッケージリポジトリに接続します。npm パッケージマネージャーを CodeCatalyst パッケージリポジトリに接続する方法については、「[npm を設定して使用する](packages-npm-use.md)」を参照してください。

1. 接続されたパッケージマネージャーを使用して、パッケージバージョンを公開します。

**Contents**
+ [公開リポジトリとアップストリームリポジトリ](#package-publishing-upstreams)
+ [プライベートパッケージと公開リポジトリ](#package-publishing-upstreams-direct)
+ [パッケージアセットの上書き](#package-publishing-overwrite-assets)

## 公開リポジトリとアップストリームリポジトリ
<a name="package-publishing-upstreams"></a>

CodeCatalyst では、到達可能なアップストリームリポジトリまたはパブリックリポジトリに存在するパッケージバージョンを公開することはできません。例えば、npm パッケージ `lodash@1.0` をパッケージリポジトリ `myrepo` に公開するとします。`myrepo` は、アップストリームリポジトリとして設定されたゲートウェイリポジトリを介して npmjs.com に接続されています。もし `lodash@1.0` がアップストリームリポジトリまたは npmjs.com に存在する場合、CodeCatalyst は `myrepo` への公開の試みを、409 競合エラーを発行することですべて拒否します。これにより、アップストリームリポジトリ内のパッケージと同じ名前とバージョンのパッケージを誤って公開し、予期しない動作が発生する可能性を防ぐことができます。

アップストリームリポジトリに存在するパッケージ名の異なるバージョンを公開することは可能です。たとえば、`lodash@1.0`はアップストリームのリポジトリに存在しますが、`lodash@1.1`がそうではない場合、`lodash@1.1`をダウンストリームのリポジトリで公開します。

## プライベートパッケージと公開リポジトリ
<a name="package-publishing-upstreams-direct"></a>

 CodeCatalyst は、CodeCatalyst リポジトリに保存されているパッケージを npmjs.com や Maven Central などのパブリックリポジトリに公開しません。CodeCatalyst は、パッケージをパブリックリポジトリから CodeCatalyst リポジトリにインポートしますが、パッケージをその逆方向に移動することはしません。CodeCatalyst リポジトリに公開するパッケージはプライベートのままで、リポジトリが属する CodeCatalyst プロジェクトでのみ使用できます。

## パッケージアセットの上書き
<a name="package-publishing-overwrite-assets"></a>

 別のコンテンツで既に存在するパッケージアセットを再公開することはできません。例えば、JAR アセット `mypackage-1.0.jar`を持つ Maven パッケージをすでに公開したとします。古いアセットのチェックサムと新しいアセットのチェックサムが同じである場合のみ、そのアセットを再度公開できます。新しいコンテンツで同じアセットを再公開するには、最初にパッケージバージョンを削除してください。異なるコンテンツで同じアセット名を再公開しようとすると、HTTP 409 の競合エラーが発生します。

複数のアセット (Python と Maven) をサポートするパッケージ形式の場合、必要なアクセス許可を持っていれば、いつでも既存のパッケージバージョンに異なる名前の新しいアセットを追加できます。npm および NuGet はパッケージバージョンごとに 1 つのアセットしかサポートしないため、公開されたパッケージバージョンを変更するには、まずそれを削除する必要があります。

 すでに存在するアセットを再公開しようとした場合 (例えば、`mypackage-1.0.jar`)、公開されたアセットと新規アセットの内容が同じである場合、操作が冪等であるため、この操作は成功します。