From 183c2ce75da5d32bede92324436f3056ceb5cb5b Mon Sep 17 00:00:00 2001 From: Ivo Beerens Date: Mon, 25 Mar 2024 20:57:31 +0100 Subject: [PATCH] Changed the GH exam topic --- .../index.md | 106 +++++++++--------- .../index.md | 10 +- .../index.md | 30 ++--- .../images/ghfoundations.jpeg | Bin 0 -> 15036 bytes .../index.md | 9 +- 5 files changed, 83 insertions(+), 72 deletions(-) create mode 100644 content/blog/2024/03/Prepare for the GitHub Foundations Exam/images/ghfoundations.jpeg diff --git a/content/blog/2022/05/build-a-windows-10-image-with-packer-using-vmware-workstation/index.md b/content/blog/2022/05/build-a-windows-10-image-with-packer-using-vmware-workstation/index.md index 6c5940ee4..33e37189b 100644 --- a/content/blog/2022/05/build-a-windows-10-image-with-packer-using-vmware-workstation/index.md +++ b/content/blog/2022/05/build-a-windows-10-image-with-packer-using-vmware-workstation/index.md @@ -2,11 +2,13 @@ title: "Build a Windows 10 image with Packer using VMware Workstation" date: "2022-05-31T20:04:33.000Z" categories: - - "iac" - - "packer" + - vmware workstation + - packer + - windows tags: - - "packer" - - "windows" + - vmware workstation + - packer + - windows author: Ivo Beerens url: /2022/05/31/build-a-windows-10-image-with-packer-using-vmware-workstation/ --- @@ -18,18 +20,29 @@ With Packer, the VMware-iso builder is used for creating images with VMware Work ## **Pre-requisites** - Windows a 10 ISO file. You can use this [link](https://www.ivobeerens.nl/2021/05/19/quick-tip-download-the-latest-windows-10-iso-file/) for downloading the latest Windows 10 ISO for example -- Install VMware Workstation. I use VMware Workstation Pro 16.x -- The newly created image must be able to access the internet for  downloading the latest VMware Tools version -- During my first deployment, the following build issue occurred Build "**Could not determine network mappings from files in the path: C:/Program Files (x86)/VMware/VMware Workstation**". Colin Westwater of vGemba.net has blogged about a solution that can be found here, [link](https://www.vgemba.net/VMware/Packer-Workstation-Error/). +- Install VMware Workstation. I use **VMware Workstation Pro 17.x** +- The newly created image must be able to access the internet for downloading the latest VMware Tools version +- During my first deployment, the following build issue occurred Build "**Could not determine network mappings from files in the path: C:/Program Files (x86)/VMware/VMware Workstation**". Colin Westwater of vGemba.net has blogged about a solution that can be found here, [**link**](https://www.vgemba.net/vmware/Packer-Workstation-Error/). + +The solution to solve this error is: + +>1. In Workstation go to `Edit...Virtual Network Editor` +>2. Click Change `Settings` +>3. Don’t change anything, just click `OK`
+>Now if you look in `C:\ProgramData\VMware` there is a new file called `netmap.conf` + - Use NAT in VMware Workstation. +- Install Hashicorp Packer, see [Download the latest Hashicorp Terraform, Packer, and Vault bits](https://www.ivobeerens.nl/2023/09/22/download-the-latest-hashicorp-terraform-packer-and-vault-bits/) + for installing Packer. ## **Steps** - Run the following PowerShell script ([link](https://raw.githubusercontent.com/ibeerens/Packer/main/workstation/windows10/download.ps1)). This script does the following things: - - Create a download folder such as c:\Packer (line 6-17) - - Download the latest Packer version and unzip the package (line 19-30) - - Download my Github Packer repository to the local download folder (line 35-39) - - Create within the download folder the Packer folder structure (line 41-45) + - Create a download folder such as `c:\Packer\win10` + - Download my Github Packer repository to the local download folder + - Create within the download folder the Packer folder structure + + The script looks like this: ```powershell # $ErrorActionPreference = "SilentlyContinue" @@ -37,7 +50,7 @@ With Packer, the VMware-iso builder is used for creating images with VMware Work [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 # Variables -$downloadfolder = 'C:\packer\' +$downloadfolder = 'C:\packer\win10\' $github = 'https://github.com/ibeerens/Packer/archive/refs/heads/main.zip' # Create Folder @@ -50,19 +63,6 @@ else { Write-Verbose "Folder '$downloadfolder' already exists." } -# Download the latest Packer version -$product='packer' -$packurl = Invoke-WebRequest -Uri https://www.$product.io/downloads.html | Select-Object -Expand links | Where-Object href -match "//releases\.hashicorp\.com/$product/\d.*/$product_.*_windows_amd64\.zip$" | Select-Object -Expand href -$packdown = $packurl | Split-Path -Leaf -$packdownload = $downloadfolder + $packdown -$webclient = New-object -TypeName System.Net.WebClient -$webclient.DownloadFile($packurl, $packdownload) - -# Unzip Packer -Expand-Archive $packdownload -DestinationPath $downloadfolder -# Remove the Packer ZIP file -Remove-Item $packdownload - # Go to the Packer download folder Set-Location $downloadfolder @@ -73,13 +73,13 @@ Expand-Archive ${downloadfolder}packer.zip -DestinationPath $downloadfolder Remove-Item -Path ${downloadfolder}packer.zip # Create the folder structure -Move-Item ${downloadfolder}Packer-main\workstation\windows10\setup -Destination $downloadfolder +Move-Item ${downloadfolder}packer-main\workstation\windows10\setup -Destination $downloadfolder Move-Item ${downloadfolder}Packer-main\workstation\windows10\*.* -Destination $downloadfolder # Remove the Github structure Remove-Item -Path ${downloadfolder}Packer-main -Recurse -Confirm:$false -Force ``` -- Browse to the download folder +- Browse to the download folder location - Open the "win10-std-.auto-pkvars.hcl" file and edit the variables for your needs such as: - Line 2: The VM name - Line 17: The ISO location @@ -93,48 +93,54 @@ vm_firmware = "bios" vm_cdrom_type = "ide" vm_cpus = "2" vm_cores = "1" -vm_memory = "2048" +vm_memory = "4096" vm_disk_controller_type = "nvme" -vm_disk_size = "32768" +vm_disk_size = "65536" vm_network_adapter_type = "e1000e" // Use the NAT Network vm_network = "VMnet8" vm_hardwareversion = "19" // Removeable media -win10_iso = "c:/iso/en-us_windows_10_business_editions_version_21h2_x64_dvd_ce067768.iso" +win10_iso = "c:/iso/feb2024/en-us_windows_10_business_editions_version_22h2_updated_feb_2024_x64_dvd_732d1707.iso" // In Powershell use the "get-filehash" command to find the checksum of the ISO -win10_iso_checksum = "1323FD1EF0CBFD4BF23FA56A6538FF69DD410AD49969983FEE3DF936A6C811C5" +win10_iso_checksum = "E433ADA123A50DBDEE946FEA5B34BD40038891F5C0ADBB1D72CACF5A633AD391" ``` -- Open the "autounattend.xml" file in the setup folder and check and edit the following lines as needed: - - Language and keyboard settings - - Line 84: Administrator Password (must be the same as the winrm_password) - - Line 92: Autologon Password (must be the same as the winrm_password) - - Line 141: The ComputerName +- Open the `autounattend.xml` file in the setup folder and check and edit the following lines as needed: + - Language and keyboard settings + - Line 84: Administrator Password (must be the same as the `winrm_password`) + - Line 92: Autologon Password (must be the same as the `winrm_password`) + - Line 141: The ComputerName -- Edit the build.ps1 file and check the following lines: - - Line 2: Packer folder location - - Line 14: The winrm\_password matches the administrator password in the autounattended.xml file +- Edit the `build.ps1` file and check the following lines: + - Line 2: Packer folder location + - Line 14: The `winrm_password` matches the administrator password in the `autounattended.xml` file ```powershell # Variables -$downloadfolder = 'C:\packer\' - -# Go to the Packer download folder -Set-Location $downloadfolder - +$downloadfolder = 'C:\packer\win10\' +$packer_config = "windows.json.pkr.hcl" #Packer config file +$packer_variable = "windows.auto.pkrvars.hcl" # Packer variable file + # Show Packer Version -.\packer.exe -v - +packer.exe -v + # Download Packer plugins -.\packer.exe init "${downloadfolder}windows.json.pkr.hcl" - +packer.exe init "$downloadfolder$packer_config" + +# Packer Format configuration files (.pkr.hcl) and variable files (.pkrvars.hcl) are updated. +packer.exe fmt -var-file="$downloadfolder$packer_variable" "$downloadfolder$packer_config" + +# Packer validate +# packer.exe validate . + # Packer build -.\packer.exe build -force -var-file="${downloadfolder}win10-std.auto.pkrvars.hcl" -var "winrm_username=administrator" -var "winrm_password=ThisisagoodPassword!" "${downloadfolder}windows.json.pkr.hcl" +# .\packer.exe build -force -var-file="${$win11_downloadfolder}${packer_variable}" "${$win11_downloadfolder}${packer_config}" +packer.exe build -force -var-file="$downloadfolder$packer_variable" -var "winrm_username=administrator" -var "winrm_password=ThisisagoodPassword!" "$downloadfolder$packer_config" ``` -- Execute the "build.ps1" file with PowerShell to start the Packer image build process. +- Run the "build.ps1" file with PowerShell to start the Packer image build process. [![](images/PackerRun-300x164.jpg)](images/PackerRun.jpg) diff --git a/content/blog/2022/10/how-to-install-windows-11-on-vmware-workstation/index.md b/content/blog/2022/10/how-to-install-windows-11-on-vmware-workstation/index.md index 87d791a7c..8c1daa0b2 100644 --- a/content/blog/2022/10/how-to-install-windows-11-on-vmware-workstation/index.md +++ b/content/blog/2022/10/how-to-install-windows-11-on-vmware-workstation/index.md @@ -2,11 +2,13 @@ title: "How to install Windows 11 on VMware Workstation" date: "2022-10-17T07:26:48.000Z" categories: - - "VMware-workstation" - - "windows-11" + - VMware-workstation + - windows 11 + - packer tags: - - "VMware-workstation" - - "windows-11" + - VMware Workstation + - windows-11 + - packer author: Ivo Beerens url: /2022/10/17/how-to-install-windows-11-on-vmware-workstation/ --- diff --git a/content/blog/2023/09/download-the-latest-hashicorp-terraform-packer-and-vault-bits/index.md b/content/blog/2023/09/download-the-latest-hashicorp-terraform-packer-and-vault-bits/index.md index 20ab986d1..847aa34ae 100644 --- a/content/blog/2023/09/download-the-latest-hashicorp-terraform-packer-and-vault-bits/index.md +++ b/content/blog/2023/09/download-the-latest-hashicorp-terraform-packer-and-vault-bits/index.md @@ -23,24 +23,24 @@ I created a PowerShell Script that downloads the latest version of Terraform, Pa .NOTES Changed: September 10, 2023 .NOTES Reason: Creation #> - + #Enable TLS 1.2 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 #Speed up the Invoke-Webrequest command $ProgressPreference = 'SilentlyContinue' - + #Variables -$temp_folder = "c:\install\" #Temp download location -$hashicorp_destination = "c:\install\hashicorp\" #Path for storing the Hashicorp binaries - +$temp_folder = "c:\progs\" #Temp download location +$hashicorp_destination = "c:\progs\hashicorp\" #Path for storing the Hashicorp binaries + #Check if the temp folder exists If(!(test-path -PathType container $hashicorp_destination )) { - New-Item -ItemType Directory -Path $hashicorp_destination + New-Item -ItemType Directory -Path $hashicorp_destination } - + #Jump to the download folder -Set-Location $hashicorp_destination - +Set-Location $hashicorp_destination + Function Download-Hashicorp { param ( [string]$product, @@ -65,18 +65,18 @@ Function Download-Hashicorp { throw $_.Exception.Message } } - + #Download Packer, Vault, and Terraform $products = @{ - 'packer' = 'https://developer.hashicorp.com/packer/downloads' - 'vault' = 'https://developer.hashicorp.com/vault/downloads' - 'terraform' = 'https://developer.hashicorp.com/terraform/downloads' + 'packer' = 'https://developer.hashicorp.com/packer/install' + 'vault' = 'https://developer.hashicorp.com/vault/install' + 'terraform' = 'https://developer.hashicorp.com/terraform/install' } - + foreach ($product in $products.GetEnumerator()) { Download-Hashicorp -product $product.Name -url $product.Value } - + ##Add the Hashicorp binary folder to the system environment variable path Write-Host "............ Add folder to path ............" -ForegroundColor Green [Environment]::SetEnvironmentVariable("PATH", $Env:PATH + ";" + $hashicorp_destination, [EnvironmentVariableTarget]::User) diff --git a/content/blog/2024/03/Prepare for the GitHub Foundations Exam/images/ghfoundations.jpeg b/content/blog/2024/03/Prepare for the GitHub Foundations Exam/images/ghfoundations.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a98c0892018640986c81e2aa412c16437100c984 GIT binary patch literal 15036 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 literal 0 HcmV?d00001 diff --git a/content/blog/2024/03/Prepare for the GitHub Foundations Exam/index.md b/content/blog/2024/03/Prepare for the GitHub Foundations Exam/index.md index e5c9fb31d..ffbc11e5b 100644 --- a/content/blog/2024/03/Prepare for the GitHub Foundations Exam/index.md +++ b/content/blog/2024/03/Prepare for the GitHub Foundations Exam/index.md @@ -20,10 +20,13 @@ In january 2024 GitHub launched his certification program. There are 4 certifica - **GitHub Advanced Security (GHAS)**. Designed to teach you how to secure your code with advanced security features at every stage of your development lifecycle. GHAS is specific to GitHub Enterprise! - **GitHub Administration**. Designed to teach you everything you need to maintain a healthy, robust, and secure GitHub environment that supports the needs of your organization. -The first exam I prepare for is the **GitHub Foundations** exam. -![ghfoundations](images/ghfoundations.png) +The first exam I prepared for is the **GitHub Foundations** exam. -Here is a collection of resources to prepare for the GitHub Foundations exam. +![ghfoundations](images/ghfoundations.jpeg) + +I passed the exam on march 23, 2024. + +Here is a collection o# f resources I used to prepare for the GitHub Foundations exam. |**Name** | **Description** | **Link** | | --- | :---: | --- |