You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 17, 2024. It is now read-only.
Added support for Packer 1.0 and W10 Creators Update
List of changes:
* gitignore updates to avoid polluting bin/ folder and adding packermerge/packages folder
* Answer file updated to win 1703
* Packer scripts updated to work with Packer 1.0
* Solved autounattend.xml issues in windows 10 (autologon)
* VMSConfigGen, generator of VMS section for vmgen.json
* Add Windows script to install the required applications for the build and execution of the whole project. Uses Chocolatey to install the apps.
* Shell script to install the required programs using Homebrew
* Update to vmware-windows10: Update vm hw to v12
* Files for win10 preview (build 16215)
* Fix various minor issues and edge cases with vms.json
* Attach vms.json to email notification
* Add script to rename the os version in the output file vms.json
* Add retry when the generation process fails one time.
*[Visual Studio Community](https://www.visualstudio.com/downloads/)
24
24
25
+
### Automatic installation in Windows computers
26
+
For an automatic installation of the required software you can use the script `.\scripts\apps\winappinstaller.ps1` It uses Chocolatey for installing the programs in the previous list. It is not recommended to use the script in machines that have already some of the programs installed manually. The purpose of the script is saving time in the installation in clean machines.
27
+
28
+
### Automatic installation in Mac computers
29
+
Although in Mac only Packer and Parallels are required, you can install them automatically using the script `.\scripts\apps\macappinstaller.sh`. The script uses Homebrew to install the apps. Parallels will require in addition of the installation the registration of a valid key. In case packer is not installing correctly write in the terminal `brew install packer` to retry the installation.
30
+
25
31
## Preparing the Windows build environment
26
32
27
33
The following are the instructions to set up an environment almost fully automated. During the VM creation process sometimes the host needs to be rebooted or some permissions are required. If you don't some manual intervention you can skip some steps like AutoLogon, etc.
@@ -126,10 +137,12 @@ sudo sharing -a /Users/admin/dev.microsoftedge.com-vms/
126
137
```
127
138
128
139
### Install Packer
140
+
(Note: this step is not necessary if the script `.\scripts\apps\macappinstaller.sh` has been executed.)
129
141
130
142
Unzip Packer files to /Users/packer
131
143
132
144
### Set environment variable on OS X
145
+
(Note: this step is not necessary if the script `.\scripts\apps\macappinstaller.sh` has been executed.)
133
146
134
147
* Open up Terminal.
135
148
* Run the following command:
@@ -149,6 +162,8 @@ The Apple Mac OS X operating system has SSH installed by default but the SSH dae
149
162
150
163
To enable it, go to "System Preferences". Under "Internet & Networking" there is a "Sharing" icon. Run that. In the list that appears, check the "Remote Login" option.
151
164
165
+
**Important**: once SSH is enabled in the Mac, we have to connect to it manually by Putty SSH from the Windows computer prepared to initiate the process. This way the Mac is recognized by the Putty when the process is executed. If we do not register the Mac as an accepted connection, the SSH connection will show this error in the generation process `The server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is. The server's rsa2 key finger (...) Connection abandoned.`
166
+
152
167
## Download Windows ISOs
153
168
154
169
This process uses ISOs, and more precisely the Client Enterprise Evaluation. You should legally get a copy of the iso for the guest you want to build and put it directly in the the `scripts\iso` folder.
@@ -181,8 +196,7 @@ This script requires a configuration file called `vmgen.json` located in the sam
@@ -233,6 +251,7 @@ This script requires a configuration file called `vmgen.json` located in the sam
233
251
* AzureStorage - Contains the Url and the Key of de Azure Storage Account to upload de output files.
234
252
* Mac - Contains IP, SSH User & password, and a shared path.
235
253
* Mail - SMTP configuration to send emails to the appropriate people
254
+
* OsRenaming (optional) - Indicates the final names desired in the output JSON for the os versions. Let's say that periodically we execute the process for the Win10 and we want in the output JSON the specific build version "Win10 (x64) build 2345". This renamed version of the output JSON is the one sent by mail. If a rename is not desired simply remove this section.
236
255
* VMS - Object struct to set the dev.microsoftedge.com Virtual Machines to be generated. The valid values for each level are as follows:
237
256
238
257
***First Level** - Windows, Mac
@@ -251,6 +270,18 @@ To upload the generated files after a build without regenerate de VMs, we need t
251
270
252
271
A JSON specific version will be generated in OutputPath. If you want your result to be merge with another file, place it in the same folder with the name vms.json.
253
272
273
+
### Renaming the os version in the output JSON
274
+
275
+
**Automatic renaming**: to rename the output JSON automatically in the process, just add the `OsRenaming` section in the vmgen file. When the generation process is executed, a copy of the output JSON with the renaming will be stored in the output path, inside the notification folder. This version is the one that will be sent by email to the configured mail receiver.
276
+
277
+
**Manual renaming**: if you want to rename the output JSON manually you can use the `scripts\vmsrename.ps1`. For instance if we want to change the value Win10 used in the generation process for an explicit name with build and architecture:
278
+
279
+
```
280
+
.\vmsrename.ps1 "Win10" "Win10 (x86) Build 6307"
281
+
```
282
+
283
+
The input file `vms.json` must be in the same folder as the script, and the output file will be `vms_renamed.json`.
284
+
254
285
## Generate a new OS template
255
286
256
287
To generate a new platform perform the following steps:
0 commit comments