Update Hosts File

Octopus.Script exported 2019-12-02 by BlueWombat belongs to ’ Hosts File’ category.

This template will update the value of your HOSTS file to what you define in this step. It will skip all lines that start with ”#” (comments), and all other lines will be deleted. Then the values defined in this step will be added. You can define as many entry lines as you want.

Parameters

When steps based on the template are included in a project’s deployment process, the parameters below can be set.

Hosts Entries

uhf_Hosts = 127.0.0.1,hostname.xyz 127.0.0.1,hostname2.xyz

A comma delimited list of IP’s and Hostnames

Script body

Steps based on this template will execute the following PowerShell script.

$hostsPath = "$env:windir\system32\drivers\etc\hosts"
Write-Host "Opening HOSTS file:$hostsPath"

$hostEntries = $OctopusParameters["uhf_Hosts"]
Write-Verbose "hostEntries:$hostEntries"

$lines = (Get-Content $hostsPath)

for ($i = 0; $i -lt $lines.Length; $i++) {
    $line = $lines[$i]
    if ($line -match "^#" -or $line -match "^[\s\t]*$") {
        continue
    }

    $line = ""

    $lines[$i] = $line
}

foreach ($hostEntry in $hostEntries.Split("`n")) {
    Write-Verbose $hostEntry
    $parts = $hostEntry.Split(",")
    $ip = $parts[0]
    Write-Verbose $ip
    $hostname = $parts[1]
    Write-Verbose $hostname
    $line = "$ip`t`t`t$hostname"
    Write-Host "Adding entry:$line"
    $lines += $line
}

Out-File -FilePath $hostsPath -Encoding ascii -InputObject $lines.Where({ $_ -ne ""}) -Force

Provided under the Apache License version 2.0.

Report an issue

To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.

{
  "Id": "79d6ce26-71bc-44c8-9228-d90cc7de9991",
  "Name": "Update Hosts File",
  "Description": "This template will update the value of your HOSTS file to what you define in this step.\nIt will skip all lines that start with \"#\" (comments), and all other lines will be deleted.\nThen the values defined in this step will be added. You can define as many entry lines as you want.",
  "Version": 9,
  "ExportedAt": "2019-12-02T05:53:03.714Z",
  "ActionType": "Octopus.Script",
  "Author": "BlueWombat",
  "Packages": [],
  "Parameters": [
    {
      "Id": "a815bb21-5ca4-4645-9076-e0e9c9042006",
      "Name": "uhf_Hosts",
      "Label": "Hosts Entries",
      "HelpText": "A comma delimited list of IP's and Hostnames",
      "DefaultValue": "127.0.0.1,hostname.xyz\n127.0.0.1,hostname2.xyz",
      "DisplaySettings": {
        "Octopus.ControlType": "MultiLineText"
      }
    }
  ],
  "Properties": {
    "Octopus.Action.Script.ScriptSource": "Inline",
    "Octopus.Action.Script.Syntax": "PowerShell",
    "Octopus.Action.Script.ScriptBody": "$hostsPath = \"$env:windir\\system32\\drivers\\etc\\hosts\"\nWrite-Host \"Opening HOSTS file:$hostsPath\"\n\n$hostEntries = $OctopusParameters[\"uhf_Hosts\"]\nWrite-Verbose \"hostEntries:$hostEntries\"\n\n$lines = (Get-Content $hostsPath)\n\nfor ($i = 0; $i -lt $lines.Length; $i++) {\n    $line = $lines[$i]\n    if ($line -match \"^#\" -or $line -match \"^[\\s\\t]*$\") {\n        continue\n    }\n\n    $line = \"\"\n\n    $lines[$i] = $line\n}\n\nforeach ($hostEntry in $hostEntries.Split(\"`n\")) {\n    Write-Verbose $hostEntry\n    $parts = $hostEntry.Split(\",\")\n    $ip = $parts[0]\n    Write-Verbose $ip\n    $hostname = $parts[1]\n    Write-Verbose $hostname\n    $line = \"$ip`t`t`t$hostname\"\n    Write-Host \"Adding entry:$line\"\n    $lines += $line\n}\n\nOut-File -FilePath $hostsPath -Encoding ascii -InputObject $lines.Where({ $_ -ne \"\"}) -Force"
  },
  "Category": " Hosts File",
  "HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/update-hosts-file.json",
  "Website": "/step-templates/79d6ce26-71bc-44c8-9228-d90cc7de9991",
  "Logo": "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",
  "$Meta": {
    "Type": "ActionTemplate"
  }
}

History

Page updated on Monday, December 2, 2019