Add-Type を使用してカスタム C# コードを追加するワークフロー Runbook をテストしています。
突然、新しい PSSession が作成されていないかのように、後続のテスト ジョブで「type already exists」エラーが発生し始めました。
つまり、新しいジョブが同じ実行コンテキストを共有しているように見えます。これは、PS インスタンスごとに同じコマンドを 2 回実行しようとした場合にのみ、ローカルで取得されます。
問題の型は、いくつかの拡張メソッドを持つ静的クラスです。ソースブロックで宣言された最初の型でもあるため、他の非静的型も同様にエラーをスローすることは間違いありません。
私はこれを数回実行したので、「最終的に」これが起こらなくなることを完全に期待していますが、強制することはできないようです。また、この状況に陥るために何ができたのかわかりません、 また。
このようなジョブ間で実行コンテキストが共有されている証拠を見ると (特に?) 一時的なものであっても - 変更を加えて展開し、その後のテストを実行するときに過去に見た一般的な実行の不一致の一部またはすべてがすぐに実行されるのではないかと思います。以降はこれに関連します。
これは単なるテスト ジョブと「実際の」ジョブの違いの一部であると考えたくなりますが、テスト ジョブ自体の WRT がパブリッシュ ジョブを模倣することの有効性について疑問が生じます。
すべての Azure Automation ジョブは分離して実行する必要がありますか? これは開発者によって制御/悪用される可能性がありますか?