現在、Visual Studio リリース管理ツールを使用して、コードのリリース フェーズを管理しています。現時点では、各ターゲット マシンに専用の展開エージェントをインストールする必要があるアクション ベースの古いテンプレートを使用しています。将来的には、Desired State Configuration アプローチを使用する予定ですが、今の自分では答えられない問題に遭遇しました。これは DSC パイプラインにも当てはまると思いますが、現在はアクション/コンポーネント ベースのパイプラインに焦点を当てています。
RM では、マシン スコープにのみアクションとコンポーネントを配置できます。パイプラインで選択可能な展開エージェントがインストールされたサーバーがあり、それらはワークフローの基本エンティティです。すべてがこれらのマシン スコープ内に入ります。
しかし、それ自体はインストールではないリリース要件があります。自動化したいアクションの 1 つは、Google Play での Android APK の公開ですが、何もインストールしないため、これは特定のマシンに依存しません。ドロップ フォルダーにある apk 自体が必要ですが、それをマシンにコピーする必要はありません。
RM ではマシンのスコープ外にアクションやコンポーネントを配置することはできないため、ツール内でマシンに依存しないリリース アクションを実行するには、どのような戦略が必要ですか? 展開エージェントを RM サーバーと同じマシンにインストールし、別のマシン スコープ "localhost" を使用してこれを行うことを考えましたが、非常に複雑なようです。
私が望んでいたのは、TFS ビルドの仕組みと非常によく似ています。ビルド ワークフローが開始されると、ビルド コントローラーで実行され、そのスコープに任意のアクティビティを配置できます。次に、ワークフローのある時点で、ビルド エージェントでタスクの実行を開始します。RMの「コントローラー自体で実行」に似たものはありますか?