アプリが CI マシン ボットでビルドされているときに perl スクリプトを実行したいのですが、アプリが開発マシンでビルドされているときに手動でビルドされている場合は、スクリプトを実行したくありません。
ターゲットを複製し、スクリプト ビルド フェーズを含む 1 つのターゲットとスクリプト ビルド フェーズを含まない別のターゲットを作成する以外に、これを達成する方法はありますか?
アプリが CI マシン ボットでビルドされているときに perl スクリプトを実行したいのですが、アプリが開発マシンでビルドされているときに手動でビルドされている場合は、スクリプトを実行したくありません。
ターゲットを複製し、スクリプト ビルド フェーズを含む 1 つのターゲットとスクリプト ビルド フェーズを含まない別のターゲットを作成する以外に、これを達成する方法はありますか?
この回答を同様の質問に投稿しました: Xcode Continuous Integration:detecting the CI environment during a post-action script
それが役立つ場合は、次のとおりです。
if [[ "$USER" == "_teamsserver" ]]
then
# do something
else
# do something else
fi
[あなたの質問は「Xcode」としてタグ付けされているため、この解決策は Xcode に固有のものです。CIシステムだけでは機能しません。]
一方が他方の単なるコピーになる 2 つの異なるビルド構成を使用できます。次に、CI スキームが使用する構成を使用するように実行スクリプトを修飾します。
例えば
if [ "${CONFIGURATION}" = "CI_Release" ]; then
echo Run your perl script here
fi
Xcode ボットに完全に別のスキームを使用することをお勧めします。利点の 1 つは、ビルド プロセスのさまざまな段階でさまざまなスクリプト セットを簡単に実行できることです。