Anúncio
Anúncio

Mais conteúdo relacionado

Similar a AutoPkg: Crowd-sourcing Mac packaging and deployment(20)

Anúncio

AutoPkg: Crowd-sourcing Mac packaging and deployment

  1. AutoPkg: Crowd-sourcing Mac packaging and deployment Greg Neagle Walt Disney Animation Studios Tim Sutton Concordia University, Faculty of Fine Arts Wednesday, September 17, 14
  2. Wednesday, September 17, 14
  3. There's a new Java Update! Wednesday, September 17, 14
  4. Wednesday, September 17, 14
  5. Wednesday, September 17, 14
  6. Wednesday, September 17, 14
  7. Wednesday, September 17, 14
  8. Wednesday, September 17, 14
  9. Wednesday, September 17, 14
  10. Wednesday, September 17, 14
  11. Wednesday, September 17, 14
  12. Wednesday, September 17, 14
  13. Wednesday, September 17, 14
  14. Wednesday, September 17, 14
  15. Wednesday, September 17, 14
  16. Wednesday, September 17, 14
  17. Wednesday, September 17, 14
  18. $ munkiimport ~/Downloads/jre-7u67-macosx-x64.dmg Wednesday, September 17, 14
  19. $ munkiimport ~/Downloads/jre-7u67-macosx-x64.dmg <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>autoremove</key> <false/> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key> <string></string> <key>display_name</key> <string>Java 7 Update 67</string> <key>installed_size</key> <integer>145352</integer> <key>installer_item_hash</key> <string>fcd0f9504ed3dabccd2f7db03ad79f919c057ce3fe6b70d7c11ad55a15b18bdf</string> <key>installer_item_location</key> <string>jre-7u67-macosx-x64.dmg</string> <key>installer_item_size</key> <integer>49707</integer> <key>minimum_os_version</key>Wednesday, September 17, 14
  20. $ munkiimport ~/Downloads/jre-7u67-macosx-x64.dmg <array> <dict> <key>installed_size</key> <integer>145352</integer> <key>packageid</key> <string>com.oracle.jre</string> <key>version</key> <string>1.0</string> </dict> </array> <key>uninstall_method</key> <string>removepackages</string> <key>uninstallable</key> <true/> <key>version</key> <string>1.0</string> </dict> </plist> Wednesday, September 17, 14
  21. $ munkiimport ~/Downloads/jre-7u67-macosx-x64.dmg <array> <dict> <key>installed_size</key> <integer>145352</integer> <key>packageid</key> <string>com.oracle.jre</string> <key>version</key> <string>1.0</string> </dict> </array> <key>uninstall_method</key> <string>removepackages</string> <key>uninstallable</key> <true/> <key>version</key> <string>1.0</string> </dict> </plist> Wednesday, September 17, 14
  22. $ munkiimport ~/Downloads/jre-7u67-macosx-x64.dmg <array> <dict> <key>installed_size</key> <integer>145352</integer> <key>packageid</key> <string>com.oracle.jre</string> <key>version</key> <string>1.0</string> </dict> </array> <key>uninstall_method</key> <string>removepackages</string> <key>uninstallable</key> <true/> <key>version</key> <string>1.0</string> </dict> </plist> Wednesday, September 17, 14
  23. Wednesday, September 17, 14
  24. $ sudo installer -pkg "/Volumes/Java 7 Update 67/Java 7 Update 67.pkg" -target / Password: Wednesday, September 17, 14
  25. $ sudo installer -pkg "/Volumes/Java 7 Update 67/Java 7 Update 67.pkg" -target / Password: installer: Package name is Java 7 Update 67 installer: Installing at base path / installer: The install was successful. Wednesday, September 17, 14
  26. Wednesday, September 17, 14
  27. Wednesday, September 17, 14
  28. Wednesday, September 17, 14
  29. Wednesday, September 17, 14
  30. Wednesday, September 17, 14
  31. Wednesday, September 17, 14
  32. $ makepkginfo -f "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/ Contents/Home/lib/deploy/JavaControlPanel.prefPane" Wednesday, September 17, 14
  33. $ makepkginfo -f "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/ Contents/Home/lib/deploy/JavaControlPanel.prefPane" <key>installs</key> <array> <dict> <key>CFBundleShortVersionString</key> <string>1.7.0_67</string> <key>CFBundleVersion</key> <string>10.67.2.01</string> <key>path</key> <string>/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/ Contents/Home/lib/deploy/JavaControlPanel.prefPane</string> <key>type</key> <string>bundle</string> <key>version_comparison_key</key> <string>CFBundleShortVersionString</string> </dict> </array> Wednesday, September 17, 14
  34. $ makepkginfo -f "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/ Contents/Home/lib/deploy/JavaControlPanel.prefPane" <key>installs</key> <array> <dict> <key>CFBundleShortVersionString</key <string>1.7.0_67</string> <key>CFBundleVersion</key> <string>10.67.2.01</string> <key>path</key> <string>/Library/Internet Plug-Ins/J Contents/Home/lib/deploy/JavaControl <key>type</key> <string>bundle</string> <key>version_comparison_key</key> <string>CFBundleShortVersionString</ </dict> </array> Wednesday, September 17, 14
  35. <key>installer_item_size</key> <integer>49707</integer> <key>minimum_os_version</key> <string>10.5.0</string> <key>name</key> <string>Java 7 Update</string> <key>receipts</key> <array> <dict> <key>installed_size</key> <integer>145352</integer> <key>packageid</key> <string>com.oracle.jre</string> <key>version</key> <string>1.0</string> </dict> </array> <key>uninstall_method</key> <string>removepackages</string> <key>uninstallable</key> <true/> <key>version</key> <string>1.0</string> </dict> </plist> $ makepkginfo -f "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/ Contents/Home/lib/deploy/JavaControlPanel.prefPane" <key>installs</key> <array> <dict> <key>CFBundleShortVersionString</key <string>1.7.0_67</string> <key>CFBundleVersion</key> <string>10.67.2.01</string> <key>path</key> <string>/Library/Internet Plug-Ins/J Contents/Home/lib/deploy/JavaControl <key>type</key> <string>bundle</string> <key>version_comparison_key</key> <string>CFBundleShortVersionString</ </dict> </array> Wednesday, September 17, 14
  36. <key>installer_item_size</key> <integer>49707</integer> <key>minimum_os_version</key> <string>10.5.0</string> <key>name</key> <string>Java 7 Update</string> <key>receipts</key> <array> <dict> <key>installed_size</key> <integer>145352</integer> <key>packageid</key> <string>com.oracle.jre</string> <key>version</key> <string>1.0</string> </dict> </array> <key>uninstall_method</key> <string>removepackages</string> <key>uninstallable</key> <true/> <key>version</key> <string>1.0</string> </dict> </plist> $ makepkginfo -f "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/ Contents/Home/lib/deploy/JavaControlPanel.prefPane" <key>installs</key> <array> <dict> <key>CFBundleShortVersionString</key <string>1.7.0_67</string> <key>CFBundleVersion</key> <string>10.67.2.01</string> <key>path</key> <string>/Library/Internet Plug-Ins/J Contents/Home/lib/deploy/JavaControl <key>type</key> <string>bundle</string> <key>version_comparison_key</key> <string>CFBundleShortVersionString</ </dict> </array> Wednesday, September 17, 14
  37. <key>installer_item_size</key> <integer>49707</integer> <key>minimum_os_version</key> <string>10.5.0</string> <key>name</key> <string>Java 7 Update</string> <key>receipts</key> <array> <dict> <key>installed_size</key> <integer>145352</integer> <key>packageid</key> <string>com.oracle.jre</string> <key>version</key> <string>1.0</string> </dict> </array> <key>uninstall_method</key> <string>removepackages</string> <key>uninstallable</key> <true/> <key>version</key> <string>1.0</string> </dict> </plist> $ makepkginfo -f "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/ Contents/Home/lib/deploy/JavaControlPanel.prefPane" <key>installs</key> <array> <dict> <key>CFBundleShortVersionString</key <string>1.7.0_67</string> <key>CFBundleVersion</key> <string>10.67.2.01</string> <key>path</key> <string>/Library/Internet Plug-Ins/J Contents/Home/lib/deploy/JavaControl <key>type</key> <string>bundle</string> <key>version_comparison_key</key> <string>CFBundleShortVersionString</ </dict> </array> Wednesday, September 17, 14
  38. </array> <key>uninstall_method</key> <string>removepackages</string> <key>uninstallable</key> <true/> <key>installs</key> <array> <dict> <key>CFBundleShortVersionString</key> <string>1.7.0_67</string> <key>CFBundleVersion</key> <string>10.67.2.01</string> <key>path</key> <string>/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/ Contents/Home/lib/deploy/JavaControlPanel.prefPane</string> <key>type</key> <string>bundle</string> <key>version_comparison_key</key> <string>CFBundleShortVersionString</string> </dict> </array> <key>version</key> <string>1.7.0_67</string> </dict> </plist> Wednesday, September 17, 14
  39. <key>autoremove</key> <false/> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key> <string></string> <key>display_name</key> <string>Java 7 Update 67</string> <key>installed_size</key> <integer>145352</integer> <key>installer_item_hash</key> <string>fcd0f9504ed3dabccd2f7db03ad79f919c057ce3fe6b70d7c11ad55a15b18bdf</string> <key>installer_item_location</key> <string>jre-7u67-macosx-x64.dmg</string> <key>installer_item_size</key> <integer>49707</integer> <key>minimum_os_version</key> <string>10.5.0</string> <key>name</key> <string>Java 7 Update</string> <key>receipts</key> <array> <dict> <key>installed_size</key> <integer>145352</integer> <key>packageid</key> Wednesday, September 17, 14
  40. <key>autoremove</key> <false/> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key> <string></string> <key>display_name</key> <string>Java 7 Update 67</string> <key>installed_size</key> <integer>145352</integer> <key>installer_item_hash</key> <string>fcd0f9504ed3dabccd2f7db03ad79f919c057ce3fe6b70d7c11ad55a15b18bdf</string> <key>installer_item_location</key> <string>jre-7u67-macosx-x64.dmg</string> <key>installer_item_size</key> <integer>49707</integer> <key>minimum_os_version</key> <string>10.5.0</string> <key>name</key> <string>Java 7 Update</string> <key>receipts</key> <array> <dict> <key>installed_size</key> <integer>145352</integer> <key>packageid</key> Wednesday, September 17, 14
  41. <key>autoremove</key> <false/> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key> <string></string> <key>display_name</key> <string>Java 7 Update 67</string> <key>installed_size</key> <integer>145352</integer> <key>installer_item_hash</key> <string>fcd0f9504ed3dabccd2f7db03ad79f919c057ce3fe6b70d7c11ad55a15b18bdf</string> <key>installer_item_location</key> <string>jre-7u67-macosx-x64.dmg</string> <key>installer_item_size</key> <integer>49707</integer> <key>minimum_os_version</key> <string>10.5.0</string> <key>name</key> <string>Java 7 Update</string> <key>receipts</key> <array> <dict> <key>installed_size</key> <integer>145352</integer> <key>packageid</key> Wednesday, September 17, 14
  42. <key>autoremove</key> <false/> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key> <string></string> <key>display_name</key> <string>Java 7 Update 67</string> <key>installed_size</key> <integer>145352</integer> <key>installer_item_hash</key> <string>fcd0f9504ed3dabccd2f7db03ad79f919c057ce3fe6b70d7c11ad55a15b18bdf</string> <key>installer_item_location</key> <string>jre-7u67-macosx-x64.dmg</string> <key>installer_item_size</key> <integer>49707</integer> <key>minimum_os_version</key> <string>10.5.0</string> <key>name</key> <string>Java 7 Update</string> <key>receipts</key> <array> <dict> <key>installed_size</key> <integer>145352</integer> <key>packageid</key> Wednesday, September 17, 14
  43. Wednesday, September 17, 14
  44. $ makecatalogs Using repo path: /Volumes/munki_repo Adding support/Java/Java7_Oracle-1.7.67.01.plist to testing... Created catalog /Volumes/munki_repo/catalogs/production... Created catalog /Volumes/munki_repo/catalogs/all... Created catalog /Volumes/munki_repo/catalogs/testing... Wednesday, September 17, 14
  45. Wednesday, September 17, 14
  46. Done Wednesday, September 17, 14
  47. Wednesday, September 17, 14
  48. Review Wednesday, September 17, 14
  49. Review Find out there was an update Wednesday, September 17, 14
  50. Review Find out there was an update Figure out how to download the update Wednesday, September 17, 14
  51. Review Find out there was an update Figure out how to download the update Download it (wait) Wednesday, September 17, 14
  52. Review Find out there was an update Figure out how to download the update Download it (wait) Deal with the thing we downloaded Wednesday, September 17, 14
  53. Review Find out there was an update Figure out how to download the update Download it (wait) Deal with the thing we downloaded Import it Wednesday, September 17, 14
  54. Review Find out there was an update Figure out how to download the update Download it (wait) Deal with the thing we downloaded Import it Add our own metadata Wednesday, September 17, 14
  55. Boring Wednesday, September 17, 14
  56. Wash, rinse, repeat Wednesday, September 17, 14
  57. You want to get it right Wednesday, September 17, 14
  58. You want to get it right, every time Wednesday, September 17, 14
  59. You want to share Wednesday, September 17, 14
  60. Wednesday, September 17, 14
  61. Wednesday, September 17, 14
  62. AutoPkg Wednesday, September 17, 14
  63. Automation tool AutoPkg Wednesday, September 17, 14
  64. Automation tool AutoPkg Community Wednesday, September 17, 14
  65. AutoPkg Per Olofsson Wednesday, September 17, 14
  66. AutoPkg Per Olofsson Greg Neagle Wednesday, September 17, 14
  67. AutoPkg Per Olofsson Greg Neagle Tim Sutton Wednesday, September 17, 14
  68. https://autopkg.github.io/autopkg Wednesday, September 17, 14
  69. https://autopkg.github.io/autopkg Wednesday, September 17, 14
  70. Processors Wednesday, September 17, 14
  71. Recipes Wednesday, September 17, 14
  72. Wednesday, September 17, 14
  73. <plist version="1.0"> <dict> <key>Identifier</key> <string>local.munki.GitHub</string> <key>Input</key> <dict> <key>DOWNLOAD_URL</key> <string>https://central.github.com/mac/latest</string> <key>NAME</key> <string>GitHub</string> </dict> </dict> </plist> Wednesday, September 17, 14
  74. Executable documentation Wednesday, September 17, 14
  75. Shareable Wednesday, September 17, 14
  76. Shareable Wednesday, September 17, 14
  77. Getting started (demo) Wednesday, September 17, 14
  78. Automate automating Wednesday, September 17, 14
  79. $ autopkg run Run lists Wednesday, September 17, 14
  80. $ autopkg run Run lists AdobeReader.pkg Skype.pkg VLC.pkg Wednesday, September 17, 14
  81. $ autopkg run --recipe-list recipes.txt Run lists Wednesday, September 17, 14
  82. Idempotent Wednesday, September 17, 14
  83. Idempotent $ autopkg run AdobeFlashPlayer.munki -v Wednesday, September 17, 14
  84. ... URLDownloader: Storing new Last-Modified header: Mon, 04 Aug 2014 05:46:50 GMT URLDownloader: Storing new ETag header: "dd41ee-fba9f1-4ffc743eca680" URLDownloader: Downloaded /Users/tsutton/Library/AutoPkg/Cache/ local.munki.AdobeFlashPlayer/downloads/FlashPlayer.dmg ... Idempotent $ autopkg run AdobeFlashPlayer.munki -v Wednesday, September 17, 14
  85. $ autopkg run AdobeFlashPlayer.munki -v ... URLDownloader: Item at URL is unchanged. URLDownloader: Using existing /Users/tsutton/Library/AutoPkg/Cache/ local.munki.AdobeFlashPlayer/downloads/FlashPlayer.dmg ... Idempotent Wednesday, September 17, 14
  86. $ autopkg run AdobeFlashPlayer.munki -v ... URLDownloader: Item at URL is unchanged. URLDownloader: Using existing /Users/tsutton/Library/AutoPkg/Cache/ local.munki.AdobeFlashPlayer/downloads/FlashPlayer.dmg ... Idempotent MunkiImporter: Copied pkginfo to /Volumes/munki_repo/pkgsinfo/plugins/FlashPlaye FlashPlayer-14.0.0.176.plist MunkiImporter: Copied pkg to /Volumes/munki_repo/pkgs/plugins/FlashPlayer/FlashP ... Wednesday, September 17, 14
  87. $ autopkg run AdobeFlashPlayer.munki -v ... URLDownloader: Item at URL is unchanged. URLDownloader: Using existing /Users/tsutton/Library/AutoPkg/Cache/ local.munki.AdobeFlashPlayer/downloads/FlashPlayer.dmg ... Idempotent MunkiImporter: Item FlashPlayer.dmg already exists in the munki repo as pkgs/plu FlashPlayer-14.0.0.176.dmg. ... Wednesday, September 17, 14
  88. 0 * * * * /run_autopkg_recipes.sh Scheduled Wednesday, September 17, 14
  89. $ autopkg run -l all_the_recipes.txt ... The following new items were imported: Name Version Catalogs Pkginfo Path ---- ------- -------- ------------ Firefox 32.0 testing apps/Firefox/Firefox-32.0.plist FlashPlayer 14.0.0.176 testing plugins/FlashPlayer/FlashPlayer-14.0.0.176.plist munkitools_core 2.0.0.2212 testing support/munkitools/munki2/munkitools_core-2.0.0.2212.plist munkitools_app 4.0.2211 testing support/munkitools/munki2/munkitools_app-4.0.2211.plist Test faster Wednesday, September 17, 14
  90. Serve the community Wednesday, September 17, 14
  91. Tribal knowledge Wednesday, September 17, 14
  92. Wednesday, September 17, 14
  93. Wednesday, September 17, 14
  94. $ autopkg run MSOffice2011Updates.munki Wednesday, September 17, 14
  95. Stand on the shoulders of experts Wednesday, September 17, 14
  96. Improve our practice Wednesday, September 17, 14
  97. Recipe format Wednesday, September 17, 14
  98. Skype.munki Wednesday, September 17, 14
  99. <plist version="1.0"> <dict> <key>Description</key> <string>Downloads latest Skype disk image and imports into Munki.</string> <key>Identifier</key> <string>com.github.autopkg.munki.Skype</string> <key>Input</key> <dict> <key>NAME</key> <string>Skype</string> <key>DOWNLOAD_URL</key> <string>http://www.skype.com/go/getskype-macosx.dmg</string> <key>MUNKI_REPO_SUBDIR</key> <string>apps</string> <key>pkginfo</key> <dict> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key>Wednesday, September 17, 14
  100. <plist version="1.0"> <dict> <key>Description</key> <string>Downloads latest Skype disk image and imports into Munki.</string> <key>Identifier</key> <string>com.github.autopkg.munki.Skype</string> <key>Input</key> <dict> <key>NAME</key> <string>Skype</string> <key>DOWNLOAD_URL</key> <string>http://www.skype.com/go/getskype-macosx.dmg</string> <key>MUNKI_REPO_SUBDIR</key> <string>apps</string> <key>pkginfo</key> <dict> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key>Wednesday, September 17, 14
  101. <plist version="1.0"> <dict> <key>Description</key> <string>Downloads latest Skype disk image and imports into Munki.</string> <key>Identifier</key> <string>com.github.autopkg.munki.Skype</string> <key>Input</key> <dict> <key>NAME</key> <string>Skype</string> <key>DOWNLOAD_URL</key> <string>http://www.skype.com/go/getskype-macosx.dmg</string> <key>MUNKI_REPO_SUBDIR</key> <string>apps</string> <key>pkginfo</key> <dict> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key>Wednesday, September 17, 14
  102. <plist version="1.0"> <dict> <key>Description</key> <string>Downloads latest Skype disk image and imports into Munki.</string> <key>Identifier</key> <string>com.github.autopkg.munki.Skype</string> <key>Input</key> <dict> <key>NAME</key> <string>Skype</string> <key>DOWNLOAD_URL</key> <string>http://www.skype.com/go/getskype-macosx.dmg</string> <key>MUNKI_REPO_SUBDIR</key> <string>apps</string> <key>pkginfo</key> <dict> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key>Wednesday, September 17, 14
  103. <true/> </dict> </dict> <key>MinimumVersion</key> <string>0.3.0</string> <key>Process</key> <array> <dict> <key>Processor</key> <string>URLDownloader</string> <key>Arguments</key> <dict> <key>url</key> <string>%DOWNLOAD_URL%</string> <key>filename</key> <string>%NAME%.dmg</string> </dict> </dict> <dict> <key>Processor</key> <string>EndOfCheckPhase</string> Wednesday, September 17, 14
  104. <true/> </dict> </dict> <key>MinimumVersion</key> <string>0.3.0</string> <key>Process</key> <array> <dict> <key>Processor</key> <string>URLDownloader</string> <key>Arguments</key> <dict> <key>url</key> <string>%DOWNLOAD_URL%</string> <key>filename</key> <string>%NAME%.dmg</string> </dict> </dict> <dict> <key>Processor</key> <string>EndOfCheckPhase</string> Wednesday, September 17, 14
  105. $ autopkg list-processors Wednesday, September 17, 14
  106. AppDmgVersioner BrewCaskInfoProvider CodeSignatureVerifier Copier DmgCreator DmgMounter EndOfCheckPhase FileCreator FileFinder FileMover FlatPkgPacker FlatPkgUnpacker InstallFromDMG Installer MunkiCatalogBuilder MunkiImporter MunkiInfoCreator $ autopkg list-processors Wednesday, September 17, 14
  107. MunkiPkginfoMerger PathDeleter PkgCopier PkgCreator PkgExtractor PkgInfoCreator PkgPayloadUnpacker PkgRootCreator PlistEditor PlistReader SparkleUpdateInfoProvider StopProcessingIf Symlinker URLDownloader URLTextSearcher Unarchiver Versioner AppDmgVersioner BrewCaskInfoProvider CodeSignatureVerifier Copier DmgCreator DmgMounter EndOfCheckPhase FileCreator FileFinder FileMover FlatPkgPacker FlatPkgUnpacker InstallFromDMG Installer MunkiCatalogBuilder MunkiImporter MunkiInfoCreator $ autopkg list-processors Wednesday, September 17, 14
  108. $ autopkg processor-info URLDownloader Wednesday, September 17, 14
  109. Description: Downloads a URL to the specified download_dir. Input variables: url: required: True description: The URL to download. download_dir: required: False description: The directory where the file will be downloaded to. Defaults to RECIPE_CACHE_DIR/do filename: required: False description: Filename to override the URL's tail. PKG: required: False description: Local path to the pkg/dmg we'd otherwise download. If provided, the download is ski request_headers: required: False description: Optional dictionary of headers to include with the download request. Output variables: download_changed: description: Boolean indicating if the download has changed since the last time it was downloade last_modified: description: last-modified header for the downloaded item. $ autopkg processor-info URLDownloader Wednesday, September 17, 14
  110. $ (recipes/AdobeReader) . !"" AdobeReader.download.recipe !"" AdobeReader.install.recipe !"" AdobeReader.munki.recipe !"" AdobeReader.pkg.recipe !"" AdobeReaderRepackager.py !"" AdobeReaderURLProvider.py #"" package_resources #"" scripts #"" preinstall Wednesday, September 17, 14
  111. <true/> </dict> </dict> <key>MinimumVersion</key> <string>0.3.0</string> <key>Process</key> <array> <dict> <key>Processor</key> <string>URLDownloader</string> <key>Arguments</key> <dict> <key>url</key> <string>%DOWNLOAD_URL%</string> <key>filename</key> <string>%NAME%.dmg</string> </dict> </dict> <dict> <key>Processor</key> <string>EndOfCheckPhase</string> Wednesday, September 17, 14
  112. <true/> </dict> </dict> <key>MinimumVersion</key> <string>0.3.0</string> <key>Process</key> <array> <dict> <key>Processor</key> <string>URLDownloader</string> </dict> <dict> <key>Processor</key> <string>EndOfCheckPhase</string> </dict> <dict> <key>Processor</key> <string>Versioner</string> </dict> <dict> <key>Processor</key> Wednesday, September 17, 14
  113. <array> <dict> <key>Processor</key> <string>URLDownloader</string> </dict> <dict> <key>Processor</key> <string>EndOfCheckPhase</string> </dict> <dict> <key>Processor</key> <string>Versioner</string> </dict> <dict> <key>Processor</key> <string>MunkiPkginfoMerger</string> </dict> <dict> <key>Processor</key> <string>MunkiImporter</string> </dict> Wednesday, September 17, 14
  114. <array> <dict> <key>Processor</key> <string>URLDownloader</string> </dict> <dict> <key>Processor</key> <string>EndOfCheckPhase</string> </dict> <dict> <key>Processor</key> <string>Versioner</string> </dict> <dict> <key>Processor</key> <string>MunkiPkginfoMerger</string> </dict> <dict> <key>Processor</key> <string>MunkiImporter</string> </dict> Wednesday, September 17, 14
  115. <array> <dict> <key>Processor</key> <string>URLDownloader</string> </dict> <dict> <key>Processor</key> <string>EndOfCheckPhase</string> </dict> <dict> <key>Processor</key> <string>Versioner</string> </dict> <dict> <key>Processor</key> <string>MunkiPkginfoMerger</string> </dict> <dict> <key>Processor</key> <string>MunkiImporter</string> </dict> Wednesday, September 17, 14
  116. <array> <dict> <key>Processor</key> <string>URLDownloader</string> </dict> <dict> <key>Processor</key> <string>EndOfCheckPhase</string> </dict> <dict> <key>Processor</key> <string>Versioner</string> </dict> <dict> <key>Processor</key> <string>MunkiPkginfoMerger</string> </dict> <dict> <key>Processor</key> <string>MunkiImporter</string> </dict> <key>pkginfo</key> <dict> <key>version</key> <string>6.19</string> </dict> Wednesday, September 17, 14
  117. <array> <dict> <key>Processor</key> <string>URLDownloader</string> </dict> <dict> <key>Processor</key> <string>EndOfCheckPhase</string> </dict> <dict> <key>Processor</key> <string>Versioner</string> </dict> <dict> <key>Processor</key> <string>MunkiPkginfoMerger</string> </dict> <dict> <key>Processor</key> <string>MunkiImporter</string> </dict> <key>pkginfo</key> <dict> <key>version</key> <string>6.19.0.452</string> </dict> Wednesday, September 17, 14
  118. Child recipes Wednesday, September 17, 14
  119. Wednesday, September 17, 14
  120. ‣Skype.download Wednesday, September 17, 14
  121. ‣Skype.download ‣Skype.munki Wednesday, September 17, 14
  122. ‣Skype.download ‣Skype.munki ‣Skype.pkg Wednesday, September 17, 14
  123. ‣Skype.download ‣Skype.munki ‣Skype.pkg ‣Skype.jss Wednesday, September 17, 14
  124. ‣Skype.download ‣Skype.munki ‣Skype.pkg ‣Skype.jss Wednesday, September 17, 14
  125. <dict> <key>Description</key> <string>Downloads latest Skype disk image and imports into Munki.</string> <key>Identifier</key> <string>com.github.autopkg.munki.Skype</string> <key>Input</key> <dict/> <key>MinimumVersion</key> <string>0.3.0</string> <key>ParentRecipe</key> <string>com.github.autopkg.download.Skype</string> <key>Process</key> <array> <dict> <key>Arguments</key> <dict> <key>input_plist_path</key> <string>%pathname%/Skype.app/Contents/Info.plist</string> <key>plist_version_key</key> <string>CFBundleVersion</string> </dict>Wednesday, September 17, 14
  126. <key>Process</key> <array> <dict> <key>Processor</key> <string>Versioner</string> </dict> <dict> <key>Processor</key> <string>MunkiPkginfoMerger</string> </dict> <dict> <key>Processor</key> <string>MunkiImporter</string> </dict> </array> Skype.munki Wednesday, September 17, 14
  127. <key>Process</key> <array> <dict> <key>Processor</key> <string>URLDownloader</string> </dict> <dict> <key>Processor</key> <string>EndOfCheckPhase</string> </dict> <dict> <key>Processor</key> <string>Versioner</string> </dict> <dict> <key>Processor</key> <string>MunkiPkginfoMerger</string> </dict> <dict> <key>Processor</key> <string>MunkiImporter</string> </dict> </array> Skype.download Skype.munki Wednesday, September 17, 14
  128. <key>Input</key> <dict> <key>NAME</key> <string>Skype</string> <key>MUNKI_REPO_SUBDIR</key> <string>apps</string> <key>pkginfo</key> <dict> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key> <string>Calling, seeing, messaging and sharing with others – wherever they are.</string> <key>display_name</key> <string>Skype</string> <key>name</key> <string>%NAME%</string> <key>unattended_install</key> <true/> </dict> </dict> Skype.munki Wednesday, September 17, 14
  129. <key>Input</key> <dict> <key>DOWNLOAD_URL</key> <string>http://www.skype.com/go/getskype-macosx.dmg</string> <key>NAME</key> <string>Skype</string> <key>MUNKI_REPO_SUBDIR</key> <string>apps</string> <key>pkginfo</key> <dict> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key> <string>Calling, seeing, messaging and sharing with others – wherever they are.</string> <key>display_name</key> <string>Skype</string> <key>name</key> <string>%NAME%</string> <key>unattended_install</key> <true/> </dict> </dict> Skype.download Skype.munki Wednesday, September 17, 14
  130. Default Input <key>Input</key> <dict> <key>RELEASE</key> <string>latest</string> <key>LOCALE</key> <string>en_US</string> <key>NAME</key> <string>Firefox</string> </dict> Wednesday, September 17, 14
  131. What if... <key>Input</key> <dict> <key>RELEASE</key> <string>latest</string> <key>LOCALE</key> <string>en_US</string> <key>NAME</key> <string>Firefox</string> </dict> Wednesday, September 17, 14
  132. <key>Input</key> <dict> <key>RELEASE</key> <string>latest-24.0esr</string> <key>LOCALE</key> <string>en_US</string> <key>NAME</key> <string>Firefox</string> </dict> What if... Wednesday, September 17, 14
  133. <key>Input</key> <dict> <key>RELEASE</key> <string>latest-24.0esr</string> <key>LOCALE</key> <string>sv_SE</string> <key>NAME</key> <string>Firefox</string> </dict> What if... Wednesday, September 17, 14
  134. <key>Input</key> <dict> <key>RELEASE</key> <string>latest-24.0esr</string> <key>LOCALE</key> <string>sv_SE</string> <key>NAME</key> <string>Firefox ESR</string> </dict> What if... Wednesday, September 17, 14
  135. <key>Input</key> <dict> <key>RELEASE</key> <string>latest-24.0esr</string> <key>LOCALE</key> <string>sv_SE</string> <key>NAME</key> <string>Firefox ESR</string> </dict> Overrides Wednesday, September 17, 14
  136. Overrides Wednesday, September 17, 14
  137. Overrides Customize your own data for ‘Input’ Wednesday, September 17, 14
  138. Overrides Customize your own data for ‘Input’ No need to maintain your own copy of the recipe Wednesday, September 17, 14
  139. Overrides Customize your own data for ‘Input’ No need to maintain your own copy of the recipe Recipe keeps working if original author makes changes Wednesday, September 17, 14
  140. Overrides Customize your own data for ‘Input’ No need to maintain your own copy of the recipe Recipe keeps working if original author makes changes $ autopkg repo-update <repo> Wednesday, September 17, 14
  141. Overrides $ autopkg make-override <recipe> Wednesday, September 17, 14
  142. Overrides Override selectively Wednesday, September 17, 14
  143. <plist version="1.0"> <dict> <key>Identifier</key> <string>local.munki.Skype</string> <key>Input</key> <dict> <key>DOWNLOAD_URL</key> <string>http://www.skype.com/go/getskype-macosx.dmg</string> <key>MUNKI_REPO_SUBDIR</key> <string>apps</string> <key>NAME</key> <string>Skype</string> <key>pkginfo</key> <dict> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key> <string>Calling, seeing, messaging and sharing with others - wherever they are.</string> <key>display_name</key> <string>Skype</string> <key>name</key> <string>%NAME%</string>Wednesday, September 17, 14
  144. <plist version="1.0"> <dict> <key>Identifier</key> <string>local.munki.Skype</string> <key>Input</key> <dict> <key>DOWNLOAD_URL</key> <string>http://www.skype.com/go/getskype-macosx.dmg</string> <key>MUNKI_REPO_SUBDIR</key> <string>Communication/Skype</string> <key>NAME</key> <string>Skype</string> <key>pkginfo</key> <dict> <key>catalogs</key> <array> <string>testing</string> </array> <key>description</key> <string>Calling, seeing, messaging and sharing with others - wherever they are.</string> <key>display_name</key> <string>Skype</string> <key>name</key> <string>%NAME%</string>Wednesday, September 17, 14
  145. <plist version="1.0"> <dict> <key>Identifier</key> <string>local.munki.Skype</string> <key>Input</key> <dict> <key>MUNKI_REPO_SUBDIR</key> <string>Communication/Skype</string> </dict> <key>ParentRecipe</key> <string>com.github.autopkg.munki.Skype</string> </dict> Wednesday, September 17, 14
  146. What’s new with AutoPkg? Wednesday, September 17, 14
  147. Wednesday, September 17, 14
  148. Wednesday, September 17, 14
  149. 26 recipe repos on github.com/autopkg Wednesday, September 17, 14
  150. Lots of new recipes Wednesday, September 17, 14
  151. Over 750 recipes Wednesday, September 17, 14
  152. Over 750 recipes (on github.com/autopkg) Wednesday, September 17, 14
  153. 307 download 120 pkg 309 munki 17 jss 15 install Over 750 recipes (on github.com/autopkg) Wednesday, September 17, 14
  154. $ autopkg search Wednesday, September 17, 14
  155. $ autopkg search ftp Name Repo Path ---- ---- ---- Fetch.munki.recipe jleggat-recipes Fetch/Fetch.munki.recipe lyx.download.recipe joshua-d-miller-recipes LyX/lyx.download.recipe Transmit.munki.recipe keeleysam-recipes Panic/Transmit.munki.recipe Transmit.munki.recipe recipes Panic/Transmit.munki.recipe Cyberduck.munki.recipe recipes Cyberduck/Cyberduck.munki.recipe Python3.download.recipe scriptingosx-recipes Python3/Python3.download.recipe Wednesday, September 17, 14
  156. AppStoreApp recipes (Nick McSpadden, Michael Lynn) https://github.com/autopkg/nmcspadden-recipes Wednesday, September 17, 14
  157. AutoPkg Change Notifications (Sean Kaiser) http://seankaiser.com https://github.com/seankaiser/automation-scripts Wednesday, September 17, 14
  158. New core processors (Jesse Peterson, Hannes Juutilainen, Shea Craig) Wednesday, September 17, 14
  159. AutoPkgr.app Wednesday, September 17, 14
  160. AutoPkgr.app Wednesday, September 17, 14
  161. AutoPkgr.app Wednesday, September 17, 14
  162. AutoPkgr.app Wednesday, September 17, 14
  163. AutoPkgr.app Wednesday, September 17, 14
  164. https://github.com/lindegroup/autopkgr AutoPkgr.app Wednesday, September 17, 14
  165. Installer processors Wednesday, September 17, 14
  166. $ autopkg run Skype.install -v Processing Skype.install... URLDownloader URLDownloader: Storing new Last-Modified header: Mon, 07 Jul 2014 12:16:42 GMT URLDownloader: Storing new ETag header: "53ba8faa-29de872" URLDownloader: Downloaded /Users/tsutton/Library/AutoPkg/Cache/com.github.autopkg.install.Skype/downloads/ Skype.dmg EndOfCheckPhase InstallFromDMG InstallFromDMG: Mounted disk image /Users/tsutton/Library/AutoPkg/Cache/com.github.autopkg.install.Skype/ downloads/Skype.dmg InstallFromDMG: Connecting InstallFromDMG: Sending installation request InstallFromDMG: STATUS:Copying Skype.app to /Applications/Skype.app InstallFromDMG: Disconnecting InstallFromDMG: Result: DONE Receipt written to /Users/tsutton/Library/AutoPkg/Cache/com.github.autopkg.install.Skype/receipts/Skype- receipt-20140825-163250.plist Wednesday, September 17, 14
  167. Share and use processors across recipe repos Wednesday, September 17, 14
  168. <key>Process</key> <array> <dict> <key>Arguments</key> <dict/> <key>Processor</key> <string>JSSImporter</string> </dict> Wednesday, September 17, 14
  169. <key>Process</key> <array> <dict> <key>Arguments</key> <dict/> <key>Processor</key> <string>com.github.sheagcraig.jssimporter/JSSImporter</string> </dict> Wednesday, September 17, 14
  170. Management platform support Wednesday, September 17, 14
  171. Casper Suite Allister Banks, Shea Craig github.com/sheagcraig/ jss-autopkg-addon Management platform support Wednesday, September 17, 14
  172. Absolute Manage Tom Burgin github.com/autopkg/autopkg/pull/93 Management platform support Wednesday, September 17, 14
  173. IBM Endpoint Manager Matt Hansen Pennsylvania State University CLC Management platform support github.com/CLCMacTeam/ AutoPkgBESEngine Wednesday, September 17, 14
  174. JSSImporter (demo) Wednesday, September 17, 14
  175. Allister Banks @Sacrilicious Shea Craig @shea_craig Wednesday, September 17, 14
  176. Shea Craig Wednesday, September 17, 14
  177. Shea Craig https://github.com/sheagcraig/autopkg-jss-addon Wednesday, September 17, 14
  178. Shea Craig https://github.com/sheagcraig/autopkg-jss-addon /jss-recipes Wednesday, September 17, 14
  179. Shea Craig https://github.com/sheagcraig/autopkg-jss-addon /python-jss /jss-recipes Wednesday, September 17, 14
  180. Writing recipes Wednesday, September 17, 14
  181. Writing recipes Examples on github.com/autopkg/recipes Wednesday, September 17, 14
  182. Writing recipes Examples on github.com/autopkg/recipes Examples are the only current documentation for writing Processors Wednesday, September 17, 14
  183. Writing recipes Examples on github.com/autopkg/recipes Examples are the only current documentation for writing Processors Wiki articles: Wednesday, September 17, 14
  184. Writing recipes Examples on github.com/autopkg/recipes Examples are the only current documentation for writing Processors Wiki articles: https://github.com/autopkg/autopkg/wiki/Recipe-Writing-Guidelines Wednesday, September 17, 14
  185. Writing recipes Examples on github.com/autopkg/recipes Examples are the only current documentation for writing Processors Wiki articles: https://github.com/autopkg/autopkg/wiki/Recipe-Writing-Guidelines https://github.com/autopkg/autopkg/wiki/Sharing-Recipes Wednesday, September 17, 14
  186. Future Wednesday, September 17, 14
  187. Better logging and reporting Wednesday, September 17, 14
  188. More flexible overrides Wednesday, September 17, 14
  189. Recipes that depend on other repos Wednesday, September 17, 14
  190. Pre/post-processor support (Yoann Gini) Wednesday, September 17, 14
  191. Better management platform support (Allister Banks, Shea Craig, Tom Burgin, ...?) Wednesday, September 17, 14
  192. More resources http://autopkg.github.io/autopkg https://github.com/autopkg/autopkg/wiki https://groups.google.com/group/autopkg-discuss irc.freenode.net: ##osx-server Wednesday, September 17, 14
  193. More resources MacTech articles: October, November 2013 2014.342, 2014.343 Conference session videos: MacSysAdmin 2013 Penn State MacAdmins 2014 Wednesday, September 17, 14
  194. Tack! Thank you! Wednesday, September 17, 14
  195. http://macops.ca/autopkg-msa2014 Wednesday, September 17, 14
  196. Wednesday, September 17, 14
Anúncio