Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.92 KB | None | 0 0
  1. {
  2. "variables": {
  3. "source_path_win10": "source-win10.ova",
  4. "source_path_win2012_r2": "source-win2012-r2.ova",
  5. "source_path_win2016": "source-win2016.ova",
  6. "source_path_win2019": "source-win2019.ova",
  7. "target_path": "",
  8. "dvd_drive_letter": "D:",
  9. "agenda_dvd_source": "D:\\",
  10. "agenda_target": "C:\\Agenda",
  11. "agenda_setup_artifacts": "files",
  12. "agenda_setup_logfilepath": "C:\\Windows\\Temp\\setup\\SetupSilent.log",
  13. "agenda_setup_additional_options": "",
  14. "headless": "true",
  15. "memory": "1536",
  16. "cpus": "2",
  17. "shrink_image": "false",
  18. "output_directory": "output_preinstalled",
  19. "output_directory_vbox": "VirtualBox",
  20. "output_directory_vmware": "VMWare",
  21. "output_directory_vagrant": "Vagrant",
  22. "username": "agenda-user",
  23. "password": "agenda",
  24. "vm_name_prefix": "agenda-preinstalled-",
  25. "vm_description": "",
  26. "vm_version": "1.0",
  27. "vm_name_win10": "win10",
  28. "vm_name_win2012_r2": "win2012-r2",
  29. "vm_name_win2016": "win2016",
  30. "vm_name_win2019": "win2019",
  31. "vagrantfile_template": "vagrant/vagrantfile-base.template",
  32. "host_share_name": "packer_share"
  33. },
  34. "builders": [
  35. {
  36. "type": "vmware-vmx",
  37. "name": "vmware-preinstalled-win2016",
  38. "vmx_data": {
  39. "memsize": "{{ user `memory` }}",
  40. "numvcpus": "{{ user `cpus` }}",
  41. "cpuid.coresPerSocket": "{{ user `cpus` }}",
  42. "virtualHW.version": "12",
  43. "ide1:0.clientdevice": "TRUE",
  44. "ide1:0.present": "TRUE",
  45. "ide1:0.fileName": "{{ user `agenda_setup_artifacts` }}\\iso\\agenda.iso",
  46. "ide1:0.deviceType": "cdrom-image",
  47. "isolation.tools.hgfs.disable": "FALSE",
  48. "sharedFolder0.present": "TRUE",
  49. "sharedFolder0.enabled": "TRUE",
  50. "sharedFolder0.readAccess": "TRUE",
  51. "sharedFolder0.hostPath": "{{ user `agenda_setup_artifacts` }}\\upload",
  52. "sharedFolder0.guestName": "{{ user `host_share_name` }}",
  53. "sharedFolder0.expiration": "never",
  54. "sharedFolder.maxNum": "1",
  55. "hgfs.mapRootShare": "FALSE"
  56. },
  57. "vmx_data_post": {
  58. "ide1:0.deviceType": "cdrom-raw",
  59. "ide1:0.fileName": "auto detect",
  60. "sharedFolder0.present": "FALSE",
  61. "sharedFolder.maxNum": "0"
  62. },
  63. "source_path": "{{ user `source_path_win2016` }}",
  64. "vm_name": "{{ user `vm_name_prefix` }}{{ user `vm_name_win2016` }}",
  65. "output_directory": "{{ user `output_directory` }}/{{ user `output_directory_vmware` }}",
  66. "tools_upload_flavor": "",
  67. "headless": "{{ user `headless` }}",
  68. "communicator": "winrm",
  69. "winrm_username": "{{ user `username` }}",
  70. "winrm_password": "{{ user `password` }}",
  71. "winrm_timeout": "1h",
  72. "floppy_files": [
  73. "assets/answer_file/win2016/sysprep-autounattend.xml",
  74. "assets/sysprep/run-sysprep.bat"
  75. ],
  76. "shutdown_command": "A:\\run-sysprep.bat",
  77. "shutdown_timeout": "30m"
  78. },
  79. {
  80. "type": "virtualbox-ovf",
  81. "name": "vbox-preinstalled-win2019",
  82. "vboxmanage": [
  83. [
  84. "modifyvm",
  85. "{{ .Name }}",
  86. "--memory",
  87. "{{ user `memory` }}"
  88. ],
  89. [
  90. "modifyvm",
  91. "{{ .Name }}",
  92. "--cpus",
  93. "{{ user `cpus` }}"
  94. ],
  95. [
  96. "modifyvm",
  97. "{{ .Name }}",
  98. "--vram",
  99. "256"
  100. ],
  101. [
  102. "modifyvm",
  103. "{{ .Name }}",
  104. "--accelerate3d",
  105. "off"
  106. ],
  107. [
  108. "modifyvm",
  109. "{{ .Name }}",
  110. "--accelerate2dvideo",
  111. "off"
  112. ],
  113. [
  114. "modifyvm",
  115. "{{ .Name }}",
  116. "--uart1",
  117. "0x3F8",
  118. "4"
  119. ],
  120. [
  121. "modifyvm",
  122. "{{ .Name }}",
  123. "--uartmode1",
  124. "disconnected"
  125. ],
  126. [
  127. "storagectl",
  128. "{{ .Name }}",
  129. "--name",
  130. "SATA Controller",
  131. "--portcount",
  132. "2"
  133. ],
  134. [
  135. "storageattach",
  136. "{{ .Name }}",
  137. "--storagectl",
  138. "SATA Controller",
  139. "--port",
  140. "1",
  141. "--type",
  142. "dvddrive",
  143. "--medium",
  144. "{{ user `agenda_setup_artifacts` }}\\iso\\agenda.iso"
  145. ],
  146. [
  147. "sharedfolder",
  148. "add",
  149. "{{ .Name }}",
  150. "--name",
  151. "{{ user `host_share_name` }}",
  152. "-hostpath",
  153. "{{ user `agenda_setup_artifacts` }}\\upload"
  154. ]
  155. ],
  156. "vboxmanage_post": [
  157. [
  158. "storageattach",
  159. "{{ .Name }}",
  160. "--storagectl",
  161. "SATA Controller",
  162. "--port",
  163. "1",
  164. "--medium",
  165. "none"
  166. ],
  167. [
  168. "sharedfolder",
  169. "remove",
  170. "{{ .Name }}",
  171. "--name",
  172. "{{ user `host_share_name` }}"
  173. ]
  174. ],
  175. "source_path": "{{ user `source_path_win2019` }}",
  176. "target_path": "{{ user `target_path` }}",
  177. "format": "ova",
  178. "export_opts": [
  179. "--manifest",
  180. "--vsys",
  181. "0",
  182. "--description",
  183. "{{ user `vm_description` }}",
  184. "--version",
  185. "{{ user `vm_version` }}"
  186. ],
  187. "vm_name": "{{ user `vm_name_prefix` }}{{ user `vm_name_win2019` }}",
  188. "output_directory": "{{ user `output_directory` }}/{{ user `output_directory_vbox` }}",
  189. "guest_additions_mode": "disable",
  190. "headless": "{{ user `headless` }}",
  191. "communicator": "winrm",
  192. "winrm_username": "{{ user `username` }}",
  193. "winrm_password": "{{ user `password` }}",
  194. "winrm_timeout": "1h",
  195. "floppy_files": [
  196. "assets/answer_file/win2019/sysprep-autounattend.xml",
  197. "assets/sysprep/run-sysprep.bat"
  198. ],
  199. "shutdown_command": "A:\\run-sysprep.bat",
  200. "shutdown_timeout": "30m",
  201. "post_shutdown_delay": "1m"
  202. },
  203. {
  204. "type": "virtualbox-ovf",
  205. "name": "vbox-preinstalled-win2016",
  206. "vboxmanage": [
  207. [
  208. "modifyvm",
  209. "{{ .Name }}",
  210. "--memory",
  211. "{{ user `memory` }}"
  212. ],
  213. [
  214. "modifyvm",
  215. "{{ .Name }}",
  216. "--cpus",
  217. "{{ user `cpus` }}"
  218. ],
  219. [
  220. "modifyvm",
  221. "{{ .Name }}",
  222. "--vram",
  223. "256"
  224. ],
  225. [
  226. "modifyvm",
  227. "{{ .Name }}",
  228. "--accelerate3d",
  229. "off"
  230. ],
  231. [
  232. "modifyvm",
  233. "{{ .Name }}",
  234. "--accelerate2dvideo",
  235. "off"
  236. ],
  237. [
  238. "modifyvm",
  239. "{{ .Name }}",
  240. "--uart1",
  241. "0x3F8",
  242. "4"
  243. ],
  244. [
  245. "modifyvm",
  246. "{{ .Name }}",
  247. "--uartmode1",
  248. "disconnected"
  249. ],
  250. [
  251. "storagectl",
  252. "{{ .Name }}",
  253. "--name",
  254. "SATA Controller",
  255. "--portcount",
  256. "2"
  257. ],
  258. [
  259. "storageattach",
  260. "{{ .Name }}",
  261. "--storagectl",
  262. "SATA Controller",
  263. "--port",
  264. "1",
  265. "--type",
  266. "dvddrive",
  267. "--medium",
  268. "{{ user `agenda_setup_artifacts` }}\\iso\\agenda.iso"
  269. ],
  270. [
  271. "sharedfolder",
  272. "add",
  273. "{{ .Name }}",
  274. "--name",
  275. "{{ user `host_share_name` }}",
  276. "-hostpath",
  277. "{{ user `agenda_setup_artifacts` }}\\upload"
  278. ]
  279. ],
  280. "vboxmanage_post": [
  281. [
  282. "storageattach",
  283. "{{ .Name }}",
  284. "--storagectl",
  285. "SATA Controller",
  286. "--port",
  287. "1",
  288. "--medium",
  289. "none"
  290. ],
  291. [
  292. "sharedfolder",
  293. "remove",
  294. "{{ .Name }}",
  295. "--name",
  296. "{{ user `host_share_name` }}"
  297. ]
  298. ],
  299. "source_path": "{{ user `source_path_win2016` }}",
  300. "target_path": "{{ user `target_path` }}",
  301. "format": "ova",
  302. "export_opts": [
  303. "--manifest",
  304. "--vsys",
  305. "0",
  306. "--description",
  307. "{{ user `vm_description` }}",
  308. "--version",
  309. "{{ user `vm_version` }}"
  310. ],
  311. "vm_name": "{{ user `vm_name_prefix` }}{{ user `vm_name_win2016` }}",
  312. "output_directory": "{{ user `output_directory` }}/{{ user `output_directory_vbox` }}",
  313. "guest_additions_mode": "disable",
  314. "headless": "{{ user `headless` }}",
  315. "communicator": "winrm",
  316. "winrm_username": "{{ user `username` }}",
  317. "winrm_password": "{{ user `password` }}",
  318. "winrm_timeout": "1h",
  319. "floppy_files": [
  320. "assets/answer_file/win2016/sysprep-autounattend.xml",
  321. "assets/sysprep/run-sysprep.bat"
  322. ],
  323. "shutdown_command": "A:\\run-sysprep.bat",
  324. "shutdown_timeout": "30m",
  325. "post_shutdown_delay": "1m"
  326. },
  327. {
  328. "type": "virtualbox-ovf",
  329. "name": "vbox-preinstalled-win10",
  330. "vboxmanage": [
  331. [
  332. "modifyvm",
  333. "{{ .Name }}",
  334. "--memory",
  335. "{{ user `memory` }}"
  336. ],
  337. [
  338. "modifyvm",
  339. "{{ .Name }}",
  340. "--cpus",
  341. "{{ user `cpus` }}"
  342. ],
  343. [
  344. "modifyvm",
  345. "{{ .Name }}",
  346. "--vram",
  347. "256"
  348. ],
  349. [
  350. "modifyvm",
  351. "{{ .Name }}",
  352. "--accelerate3d",
  353. "off"
  354. ],
  355. [
  356. "modifyvm",
  357. "{{ .Name }}",
  358. "--accelerate2dvideo",
  359. "off"
  360. ],
  361. [
  362. "modifyvm",
  363. "{{ .Name }}",
  364. "--uart1",
  365. "0x3F8",
  366. "4"
  367. ],
  368. [
  369. "modifyvm",
  370. "{{ .Name }}",
  371. "--uartmode1",
  372. "disconnected"
  373. ],
  374. [
  375. "storagectl",
  376. "{{ .Name }}",
  377. "--name",
  378. "SATA Controller",
  379. "--portcount",
  380. "2"
  381. ],
  382. [
  383. "storageattach",
  384. "{{ .Name }}",
  385. "--storagectl",
  386. "SATA Controller",
  387. "--port",
  388. "1",
  389. "--type",
  390. "dvddrive",
  391. "--medium",
  392. "{{ user `agenda_setup_artifacts` }}\\iso\\agenda.iso"
  393. ],
  394. [
  395. "sharedfolder",
  396. "add",
  397. "{{ .Name }}",
  398. "--name",
  399. "{{ user `host_share_name` }}",
  400. "-hostpath",
  401. "{{ user `agenda_setup_artifacts` }}\\upload"
  402. ]
  403. ],
  404. "vboxmanage_post": [
  405. [
  406. "storageattach",
  407. "{{ .Name }}",
  408. "--storagectl",
  409. "SATA Controller",
  410. "--port",
  411. "1",
  412. "--medium",
  413. "none"
  414. ],
  415. [
  416. "sharedfolder",
  417. "remove",
  418. "{{ .Name }}",
  419. "--name",
  420. "{{ user `host_share_name` }}"
  421. ]
  422. ],
  423. "source_path": "{{ user `source_path_win10` }}",
  424. "target_path": "{{ user `target_path` }}",
  425. "format": "ova",
  426. "export_opts": [
  427. "--manifest",
  428. "--vsys",
  429. "0",
  430. "--description",
  431. "{{ user `vm_description` }}",
  432. "--version",
  433. "{{ user `vm_version` }}"
  434. ],
  435. "vm_name": "{{ user `vm_name_prefix` }}{{ user `vm_name_win10` }}",
  436. "output_directory": "{{ user `output_directory` }}/{{ user `output_directory_vbox` }}",
  437. "guest_additions_mode": "disable",
  438. "headless": "{{ user `headless` }}",
  439. "communicator": "winrm",
  440. "winrm_username": "{{ user `username` }}",
  441. "winrm_password": "{{ user `password` }}",
  442. "winrm_timeout": "1h",
  443. "floppy_files": [
  444. "assets/answer_file/win10/sysprep-autounattend.xml",
  445. "assets/sysprep/run-sysprep.bat"
  446. ],
  447. "shutdown_command": "A:\\run-sysprep.bat",
  448. "shutdown_timeout": "30m",
  449. "post_shutdown_delay": "1m"
  450. },
  451. {
  452. "type": "virtualbox-ovf",
  453. "name": "vbox-preinstalled-win2012-r2",
  454. "vboxmanage": [
  455. [
  456. "modifyvm",
  457. "{{ .Name }}",
  458. "--memory",
  459. "{{ user `memory` }}"
  460. ],
  461. [
  462. "modifyvm",
  463. "{{ .Name }}",
  464. "--cpus",
  465. "{{ user `cpus` }}"
  466. ],
  467. [
  468. "modifyvm",
  469. "{{ .Name }}",
  470. "--vram",
  471. "256"
  472. ],
  473. [
  474. "modifyvm",
  475. "{{ .Name }}",
  476. "--accelerate3d",
  477. "off"
  478. ],
  479. [
  480. "modifyvm",
  481. "{{ .Name }}",
  482. "--accelerate2dvideo",
  483. "off"
  484. ],
  485. [
  486. "modifyvm",
  487. "{{ .Name }}",
  488. "--uart1",
  489. "0x3F8",
  490. "4"
  491. ],
  492. [
  493. "modifyvm",
  494. "{{ .Name }}",
  495. "--uartmode1",
  496. "disconnected"
  497. ],
  498. [
  499. "storagectl",
  500. "{{ .Name }}",
  501. "--name",
  502. "SATA Controller",
  503. "--portcount",
  504. "2"
  505. ],
  506. [
  507. "storageattach",
  508. "{{ .Name }}",
  509. "--storagectl",
  510. "SATA Controller",
  511. "--port",
  512. "1",
  513. "--type",
  514. "dvddrive",
  515. "--medium",
  516. "{{ user `agenda_setup_artifacts` }}\\iso\\agenda.iso"
  517. ],
  518. [
  519. "sharedfolder",
  520. "add",
  521. "{{ .Name }}",
  522. "--name",
  523. "{{ user `host_share_name` }}",
  524. "-hostpath",
  525. "{{ user `agenda_setup_artifacts` }}\\upload"
  526. ]
  527. ],
  528. "vboxmanage_post": [
  529. [
  530. "storageattach",
  531. "{{ .Name }}",
  532. "--storagectl",
  533. "SATA Controller",
  534. "--port",
  535. "1",
  536. "--medium",
  537. "none"
  538. ],
  539. [
  540. "sharedfolder",
  541. "remove",
  542. "{{ .Name }}",
  543. "--name",
  544. "{{ user `host_share_name` }}"
  545. ]
  546. ],
  547. "source_path": "{{ user `source_path_win2012_r2` }}",
  548. "target_path": "{{ user `target_path` }}",
  549. "format": "ova",
  550. "export_opts": [
  551. "--manifest",
  552. "--vsys",
  553. "0",
  554. "--description",
  555. "{{ user `vm_description` }}",
  556. "--version",
  557. "{{ user `vm_version` }}"
  558. ],
  559. "vm_name": "{{ user `vm_name_prefix` }}{{ user `vm_name_win2012_r2` }}",
  560. "output_directory": "{{ user `output_directory` }}/{{ user `output_directory_vbox` }}",
  561. "guest_additions_mode": "disable",
  562. "headless": "{{ user `headless` }}",
  563. "communicator": "winrm",
  564. "winrm_username": "{{ user `username` }}",
  565. "winrm_password": "{{ user `password` }}",
  566. "winrm_timeout": "1h",
  567. "floppy_files": [
  568. "assets/answer_file/win2012-r2/sysprep-autounattend.xml",
  569. "assets/sysprep/run-sysprep.bat"
  570. ],
  571. "shutdown_command": "A:\\run-sysprep.bat",
  572. "shutdown_timeout": "30m",
  573. "post_shutdown_delay": "1m"
  574. }
  575. ],
  576. "provisioners": [
  577. {
  578. "type": "powershell",
  579. "script": "scripts/common/configure-outbound-traffic.ps1",
  580. "remote_path": "C:/Windows/Temp/scripts/configure-outbound-traffic.ps1",
  581. "environment_vars": [
  582. "outboundtraffic_enabled=false"
  583. ],
  584. "valid_exit_codes": [
  585. 0
  586. ]
  587. },
  588. {
  589. "type": "powershell",
  590. "inline": [
  591. "New-Item -Path C:\\Windows\\Temp\\scripts -ItemType Directory -Force",
  592. "New-Item -Path C:\\Windows\\Temp\\common -ItemType Directory -Force"
  593. ]
  594. },
  595. {
  596. "type": "powershell",
  597. "script": "scripts/common/windows-defender.ps1",
  598. "remote_path": "C:/Windows/Temp/scripts/windows-defender.ps1",
  599. "environment_vars": [
  600. "enable_defender=false"
  601. ],
  602. "valid_exit_codes": [
  603. 0
  604. ],
  605. "elevated_user": "{{ user `username` }}",
  606. "elevated_password": "{{ user `password` }}",
  607. "pause_before": "1m"
  608. },
  609. {
  610. "type": "windows-restart",
  611. "restart_timeout": "2h"
  612. },
  613. {
  614. "type": "file",
  615. "source": "assets/common/",
  616. "destination": "C:/Windows/Temp/common",
  617. "direction": "upload"
  618. },
  619. {
  620. "type": "powershell",
  621. "script": "scripts/preinstalled/apply-settings.ps1",
  622. "remote_path": "C:/Windows/Temp/scripts/apply-settings.ps1",
  623. "environment_vars": [
  624. "agenda_target={{ user `agenda_target` }}"
  625. ],
  626. "valid_exit_codes": [
  627. 0
  628. ]
  629. },
  630. {
  631. "type": "windows-restart",
  632. "restart_timeout": "2h"
  633. },
  634. {
  635. "type": "powershell",
  636. "inline": [
  637. "$ErrorActionPreference = \"Stop\"",
  638. "cmd.exe /C \"net use X: \\\\VBOXSVR\\{{ user `host_share_name` }} /persistent:no\"",
  639. "cmd.exe /C \"mklink /D C:\\Windows\\Temp\\setup \\\\VBOXSVR\\{{ user `host_share_name` }}\"",
  640. "if ($LASTEXITCODE -ne 0) {exit 1}"
  641. ],
  642. "only": [
  643. "vbox-preinstalled-win10",
  644. "vbox-preinstalled-win2012-r2",
  645. "vbox-preinstalled-win2016",
  646. "vbox-preinstalled-win2019"
  647. ],
  648. "elevated_user": "{{ user `username` }}",
  649. "elevated_password": "{{ user `password` }}"
  650. },
  651. {
  652. "type": "powershell",
  653. "inline": [
  654. "$ErrorActionPreference = \"Stop\"",
  655. "cmd.exe /C \"net use X: `\"\\\\vmware-host\\Shared Folders\\{{ user `host_share_name` }}`\" /persistent:no\"",
  656. "cmd.exe /C \"mklink /D C:\\Windows\\Temp\\setup `\"\\\\vmware-host\\Shared Folders\\{{ user `host_share_name` }}`\"\"",
  657. "if ($LASTEXITCODE -ne 0) {exit 1}"
  658. ],
  659. "only": [
  660. "vmware-preinstalled-win2016"
  661. ],
  662. "elevated_user": "{{ user `username` }}",
  663. "elevated_password": "{{ user `password` }}"
  664. },
  665. {
  666. "type": "powershell",
  667. "inline": [
  668. "$ErrorActionPreference = \"Stop\"",
  669. "& PsExec -accepteula -s C:\\Windows\\Temp\\setup\\SetupSilent.exe -config:C:\\Windows\\Temp\\setup\\InputConfig.xml -log:{{ user `agenda_setup_logfilepath` }} -teamcity -debug {{ user `agenda_setup_additional_options` }}",
  670. "if ($LASTEXITCODE -ne 0) {exit 1}"
  671. ]
  672. },
  673. {
  674. "type": "windows-restart",
  675. "restart_timeout": "2h"
  676. },
  677. {
  678. "type": "powershell",
  679. "script": "scripts/common/image-shrink.ps1",
  680. "remote_path": "C:/Windows/Temp/scripts/image-shrink.ps1",
  681. "environment_vars": [
  682. "shrink_image={{ user `shrink_image` }}",
  683. "sdelete=C:\\Windows\\Temp\\common\\sdelete.exe"
  684. ],
  685. "valid_exit_codes": [
  686. 0
  687. ]
  688. },
  689. {
  690. "type": "powershell",
  691. "script": "scripts/common/windows-defender.ps1",
  692. "remote_path": "C:/Windows/Temp/scripts/windows-defender.ps1",
  693. "environment_vars": [
  694. "enable_defender=true"
  695. ],
  696. "valid_exit_codes": [
  697. 0
  698. ],
  699. "elevated_user": "{{ user `username` }}",
  700. "elevated_password": "{{ user `password` }}",
  701. "pause_before": "1m"
  702. },
  703. {
  704. "type": "powershell",
  705. "inline": [
  706. "$ErrorActionPreference = \"Stop\"",
  707. "cmd.exe /C \"rmdir C:\\Windows\\Temp\\setup\"",
  708. "if ($LASTEXITCODE -ne 0) {exit 1}",
  709. "Remove-Item \"C:\\Windows\\Temp\\*\" -Recurse -Force -ErrorAction SilentlyContinue"
  710. ]
  711. },
  712. {
  713. "type": "powershell",
  714. "script": "scripts/common/configure-outbound-traffic.ps1",
  715. "remote_path": "C:/Windows/Temp/scripts/configure-outbound-traffic.ps1",
  716. "environment_vars": [
  717. "outboundtraffic_enabled=true"
  718. ],
  719. "valid_exit_codes": [
  720. 0
  721. ]
  722. }
  723. ],
  724. "post-processors": [
  725. {
  726. "type": "vagrant",
  727. "vagrantfile_template": "{{ user `vagrantfile_template` }}",
  728. "keep_input_artifact": true,
  729. "compression_level": 0,
  730. "output": "{{ user `output_directory` }}/{{ user `output_directory_vagrant` }}/{{ .BuildName }}-vagrant.box"
  731. }
  732. ]
  733. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement