teamcityから別のサーバーにアーティファクトをコピーするにはどうすればよいですか?ありがとう
ビルドスクリプトまたは 外部 から実行できます。
私がこれを行った方法は、物事をはるかに簡単にします。アーティファクトの依存関係を介して、必要なすべてのファイルを取り込む別の構成をセットアップし、cmdスクリプトを実行してファイルをネットワーク上の別のドライブにxcopy/copyします。これは、cmdスクリプト、vbs、python、シェルなどを使用して実行できます。
つまり、cmdスクリプト:: xcopy。\ "my build Artifact(s)"\path\to\drive\on\my\network\"my build Artifacts"
それ以上に簡単になることはありません。
当然、アーティファクトが巨大な場合は、より複雑なオプションを検討することをお勧めします。ただし、TeamCityには現在保留中のチケットがあり、投票できます。これにより、1つの構成で複数のランナーを実行できます。したがって、同じ構成にcmdスクリプトを追加するだけで、コピー時間を節約できます。少し余裕があれば投票してください:
Deployerプラグイン があり、fileshare/SMB、FTP、SSH、およびその他の手段によるデプロイをサポートしています。使用法は基本的にアーティファクトパスと同じです。
Sambaのみを使用したため、次のように入力する必要があります。
パスでは、アーティファクトのようにファイルを選択するだけです。
product/* => product.Zip
そしてそれはファイル//server/drive/myfolder/product.Zipを作成します
リモートビルドエージェントからプライマリTeamCityサーバーにアーティファクトをコピーする場合は、[一般設定]でビルドアーティファクトの構成を検討することをお勧めします。
BuildArtifactsに関するTeamCityのwikiエントリ( http://confluence.jetbrains.com/display/TCD7/Build+Artifact )によると、「ビルドが完了すると、TeamCityはビルドのチェックアウトディレクトリでアーティファクトを検索します。指定されたアーティファクトパターン。一致するファイルはTeamCityサーバーにアップロード(「公開」)され、そこでWeb UIからダウンロードできるようになるか、アーティファクトの依存関係を使用して他のビルドで使用できます。」