7

現在、teamcity は AssemblyInfoPatcher プラグインを使用して mercurial 開発ブランチを監視および構築しており、Project.Website.2.xxxnupkg がアーティファクトで検出され、octopus はこれをステージング環境にデプロイしています。すごいもの。

今、私はタコの展開を設定して、デフォルトのブランチが本番環境にも展開されるようにする方法を理解しようとしています。

デフォルト ブランチから Project.Website.1.xxxnupkg を生成するように teamcity を設定しましたが、タコはどのパッケージが開発ブランチからのステージング ビルドであり、どのパッケージがデフォルト ブランチからのプロダクションであるかを、バージョン番号とは別に見てどのように認識しますか? Project.Website と同じプロジェクト名?

現時点では、ステージング環境、ステージング ロール、およびステージング プロジェクト グループがあります。プロダクション用の新しいグループ環境とロールを作成する必要があるだけですか?もしそうなら、タコはどのようにそのビットを行う方法を知っていますか?

どちらのツールも素晴らしいキットであり、今ではかなり近づいていると確信しています。

4

1 に答える 1

3

Octopus Deploy で本番用の環境をセットアップする必要があります。

仮定:

  • Octopus の本番環境は Production という名前です
  • TeamCity のコマンド ライン ビルド ステップで octo.exe を使用して、リリースを作成およびデプロイしています。

octo.exeのオプションを使用して--deployto、新しく作成したリリースをデプロイする環境を指定できます。このようなもの:

octo create-release --server=http://your-octopus/api --project=Project.Website --version=%build.number% --packageVersion=%build.number% --deployto=Production

このコマンドは次のことを行います。

  • TeamCity ビルド番号をバージョンとして使用してリリースを作成します
  • すべてのパッケージのパッケージ バージョンとして TeamCity ビルド番号を使用する
  • リリースを本番環境にデプロイする

ヒント: TeamCity が成果物を NuGet フィードに公開するのに数秒かかることがあります。octo コマンドがまだ公開されていないパッケージ バージョンを使用してリリースを作成しようとすると、コマンド (およびビルド ステップ) は失敗します。octo.exe コマンドを実行する前に、スクリプトで 30 秒間の「スリープ」をビルドして、ビルド サーバーがパッケージの現在のバージョンを公開する時間を確保します。

于 2013-02-15T22:44:54.313 に答える