No more need for run_script.bat.

Cleaned up README.md visually
This commit is contained in:
Daniel Goldberg 2020-02-03 12:18:02 +02:00
parent 161265e4c4
commit e226e74100
3 changed files with 24 additions and 15 deletions

View File

@ -3,13 +3,17 @@
Before running the script you must have git installed.<br> Before running the script you must have git installed.<br>
`Invoke-WebRequest https://raw.githubusercontent.com/guardicore/monkey/develop/deployment_scripts/deploy_windows.ps1 -OutFile deploy_windows.ps1` `Invoke-WebRequest https://raw.githubusercontent.com/guardicore/monkey/develop/deployment_scripts/deploy_windows.ps1 -OutFile deploy_windows.ps1`
Then execute the resulting script with your shell. Then execute the resulting script with your shell.
First argument is an empty directory (script can create one) and second is branch you want to clone. First argument is an empty directory (script can create one) and second is branch you want to clone.
Example usages:<br> Example usages:<br>
`./run_script.bat` (Sets up monkey in current directory under .\infection_monkey)<br> `.\deploy_windows.ps1` (Sets up monkey in current directory under .\infection_monkey)<br>
`./run_script.bat "C:\test"` (Sets up monkey in C:\test)<br> `.\deploy_windows.ps1 -monkey_home "C:\test"` (Sets up monkey in C:\test)<br>
`powershell -ExecutionPolicy ByPass -Command ". .\deploy_windows.ps1; Deploy-Windows -monkey_home C:\test"` (Same as above)<br> `.\deploy_windows.ps1 -branch "master"` (Sets up master branch instead of develop in current dir)
`./run_script.bat "" "master"` (Sets up master branch instead of develop in current dir)
If you run into Execution Policy warnings, you can disable them by prefixing the following snippet
`powershell -ExecutionPolicy ByPass -Command "[original command here]"`
Don't forget to add python to PATH or do so while installing it via this script.<br> Don't forget to add python to PATH or do so while installing it via this script.<br>

View File

@ -1,18 +1,28 @@
param(
[Parameter(Mandatory = $false, Position = 0)]
[String] $monkey_home = (Get-Item -Path ".\").FullName,
[Parameter(Mandatory = $false, Position = 1)]
[System.String]
$branch = "develop"
)
function Deploy-Windows([String] $monkey_home = (Get-Item -Path ".\").FullName, [String] $branch = "develop") function Deploy-Windows([String] $monkey_home = (Get-Item -Path ".\").FullName, [String] $branch = "develop")
{ {
Write-Output "Downloading to $monkey_home"
Write-Output "Branch $branch"
# Set variables for script execution # Set variables for script execution
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$webClient = New-Object System.Net.WebClient $webClient = New-Object System.Net.WebClient
# Import the config variables # Import the config variables
$config_filename = New-TemporaryFile
$config_filename = "config.ps1" $config_filename = "config.ps1"
$config_url = "https://raw.githubusercontent.com/guardicore/monkey/" + $branch + "/deployment_scripts/config.ps1" $config_url = "https://raw.githubusercontent.com/guardicore/monkey/" + $branch + "/deployment_scripts/config.ps1"
$webClient.DownloadFile($config_url, $config_filename) $webClient.DownloadFile($config_url, $config_filename)
. ./config.ps1 . ./config.ps1
"Config variables from config.ps1 imported" "Config variables from config.ps1 imported"
Remove-Item $config_filename #Remove-Item $config_filename
# If we want monkey in current dir we need to create an empty folder for source files # If we want monkey in current dir we need to create an empty folder for source files
@ -35,7 +45,9 @@ function Deploy-Windows([String] $monkey_home = (Get-Item -Path ".\").FullName,
} }
# Download the monkey # Download the monkey
$output = cmd.exe /c "git clone --single-branch -b $branch $MONKEY_GIT_URL $monkey_home 2>&1" $command = "git clone --single-branch -b $branch $MONKEY_GIT_URL $monkey_home 2>&1"
Write-Output $command
$output = cmd.exe /c $command
$binDir = (Join-Path -Path $monkey_home -ChildPath $MONKEY_ISLAND_DIR | Join-Path -ChildPath "\bin") $binDir = (Join-Path -Path $monkey_home -ChildPath $MONKEY_ISLAND_DIR | Join-Path -ChildPath "\bin")
if ($output -like "*already exists and is not an empty directory.*") if ($output -like "*already exists and is not an empty directory.*")
{ {
@ -242,3 +254,4 @@ function Deploy-Windows([String] $monkey_home = (Get-Item -Path ".\").FullName,
"Script finished" "Script finished"
} }
Deploy-Windows -monkey_home $monkey_home -branch $branch

View File

@ -1,8 +0,0 @@
SET command=. .\deploy_windows.ps1; Deploy-Windows
if NOT "%~1" == "" (
SET "command=%command% -monkey_home %~1"
)
if NOT "%~2" == "" (
SET "command=%command% -branch %~2"
)
powershell -ExecutionPolicy ByPass -Command %command%