Skip to content

Jamf スクリプト経由で Xcode インストール | Installing Xcode via script for Jamf Pro

Notifications You must be signed in to change notification settings

Magichat-Inc/Jamf-Pro_install-Xcode

Repository files navigation

Xcode インストール スクリプトと設定手順

Jamf Nation のスレッドYouTube の説明動画をもとに検証を行いました。

手順書

① Apple Developer Programから対象Xcodeのバージョンをダウンロード

② ダウンロードした対象xipファイルを解凍、XcodeアプリをApplicationsフォルダに移動する

③ パッケージ化

パッケージ化ツールとして WhiteBoxのPackagesアプリ を使用しました。
(最初は普段使用しているJamf 社のツール Composer を使ってパッケージの作成を試したのですが、失敗するため別ツールを試しました。)

パッケージ化の手順(クリックして)
  • Raw Packageを選択
  • プロジェクト名・プロジェクトフォルダを入力
  • プロジェクト作成後はSettingsタブに移動
  • Options > Require admin password for installationのチェックを外す
  • Payloadタブに移動
  • Contentsの中にあるApplicationsを選択し、左下の「+」ボタンを押下
  • /Applications/Xcodeを選択
  • 右横にあるAttributes欄のGroupをwheelに変更(Composerと同様に)
  • メニューのFile > Save
  • メニューのBuild > Build

  • Build完了までしばらく待ちます。(Xcode の場合、時間がかかります)
    ※ Build完了後、プロジェクトフォルダ内にあるbuildフォルダで作成したPKGが表示されます。

④ 作成したPKGをJamf Pro環境にアップロードする

ネット状況にも応じますが、これも結構時間がかかります。

⑤ スクリプトの作成

記事に掲載されていたスクリプトを一部変更しています。

  • コードでGatekeeper後にあるコードを外し、代わりパッケージインストールと初回実行アイテムに関するコードに変更
  • 別途post installスクリプトで最新バージョンCommand Line Toolsをインストール (参考コメント

作成したスクリプト:

  • XcodeConfiguration.zsh
  • XcodePostInstallCommandLineTools.sh
  • setSleepTime.zsh (処理中にスリープしないようにするため)

⑥ ポリシーの作成

④で作成した PKG ファイルと⑤のスクリプトを用いて Jamf Pro でポリシーを作成します。
スクリプト>優先順位は以下のような組み合わせとなります。

Policyのトリガーで実施する場合(クリックして)
  • setSleepTimeをBefore実行
  • XcodeConfigurationをAfter実行
  • XcodePostInstallCommandLineToolsをAfter実行
Self Serviceで実施する場合(クリックして)
  • XcodeConfigurationをAfter実行
  • XcodePostInstallCommandLineToolsをAfter実行

ログ

XcodeConfigurationスクリプトのインストールログは以下の階層に保存さる:
/Library/Logs/Xcode/XCodeInstall.log

検証結果

・ポリシーの実行には2~3時間かかりましたが、問題なくパッケージのインストールとスクリプトによる展開が実行され、アプリも問題なく開くことができました。

※ 今回 macOS Ventura にて検証を行いましたが、今後のメジャーアップデート時は検証して実装をお願いいたします。

ご参考

詳しくはブログをご覧ください。

About

Jamf スクリプト経由で Xcode インストール | Installing Xcode via script for Jamf Pro

Resources

Stars

Watchers

Forks

Languages