Mac 㧠AppStore ããã®ã¤ã³ã¹ãã¼ã«ãã¢ãããã¼ããã³ãã³ãã©ã¤ã³ããå®è¡ã§ããããã«ãªãã¾ããã
mas-cli - Mac App Storeのシンプルなコマンドラインインターフェイス | ソフトアンテナ
ã³ãã³ãã©ã¤ã³ããå®è¡ã§ããã®ã§ããã°ãå½ç¶ Ansible ã® Playbook ã«ãæ¸ãããã¨ã«ãªãã®ã§ãããã¾ã§ homebrew (tap)ããã¤ã³ã¹ãã¼ã«ããã¢ããªã¯ ansibleãAppStore ã¯æåã§ã¤ã³ã¹ãã¼ã«ãã¿ãããªãã¨ã«ãªã£ã¦ããã®ã Ansible ã«ä¸å åã§ãããã¨ã«ãªãã¾ãã AppStore ã®ã¢ããªãã¤ã³ã¹ãã¼ã«ãããã¼ã«ã¯ mas (Mfac App Store) ã¨ããã®ã§ããããã® mas ã§ã¢ããªãã¤ã³ã¹ãã¼ã«ããå ´åãå¼æ°ã«ã¯ã¢ããªåã§ã¯ãªã ID ãåããã¨ã«ãªãã¾ãã*1 å¾ã£ã¦ãã·ã³ãã«ã« Playbook ãæ¸ãã®ã§ããã°ã以ä¸ã®ããã«ãªãã¾ãã
- hosts: localhost connection: local gather_facts: no become: no vars: mas: - name: The Unarchiver id: 425424353 - name: Evernote id: 406056744 - nane: PopClip id: 445189367 tasks: # mas 㧠AppStore ã®ã¢ããªãã¤ã³ã¹ãã¼ã«ãã # 大容éãã¡ã¤ã«ã®ãã¦ã³ãã¼ãçãæéããããã¿ã¹ã¯ãªã®ã§ãæ¬ã¿ã¹ã¯ãå®è¡ãããå ´åã¯æ示çã« # -e "thorough=true" ãæå®ãã # ä¾: ansible-playbook localhost.yaml -e 'thorough=true' - name: install appstore applications command: mas install "{{ item.id }}" with_items: mas when: thorough == "true"
command ã¢ã¸ã¥ã¼ã«ã使ç¨ãã¦ããã®ã§ããã®ã¿ã¹ã¯ãå®è¡ããã¨å¸¸ã« "changed" ã«ãªã£ã¦ãã¾ãã®ãé£ç¹ã ã¾ããmas install ã³ãã³ãã¯ãæ¢ã«ã¤ã³ã¹ãã¼ã«æ¸ã®ã½ããã¦ã§ã¢ã§ãã£ã¦ãç¡æ¡ä»¶ã§ã¢ããªããã¦ã³ãã¼ããã¤ã³ã¹ãã¼ã«ãã¦ãã¾ãããããã®ã¿ã¹ã¯ãåããã¦ãã¾ãã¨å¸¯åã»æéã大ããæ¶è²»ãã¾ãã ãããã« 1 GB ãè¶ ããã¢ããªãä½åº¦ããã¦ã³ãã¼ãã»ã¤ã³ã¹ãã¼ã«ããã®ã¯å«ãªã®ã§ãããã§ã¯ when å¥ãæå®ãã¦ãã¾ãããã®ãããã®è©±ã«ã¤ãã¦ã¯ä»¥ä¸ã¨ã³ããªã§ã
明示的に指定した場合にのみ Ansible のタスクを実行する - 理系学生日記
*1:ã¢ããªåã§ã¯ã¢ããªãä¸æã«ç¹å®ã§ããªãããã ã¨æãã¾ã