diff --git a/docs/install.md b/docs/install.md index 22d56aaa..c489039a 100644 --- a/docs/install.md +++ b/docs/install.md @@ -35,6 +35,17 @@ You can then install it globally on your system: sudo mv ./bin/dagger /usr/local/bin ``` +## Option 2 (Windows): Run a shell script + +From a terminal, run the following command: + +```shell +curl https://releases.dagger.io/dagger/install.ps1 -OutFile install.ps1 ; ./install.ps1; rm install.ps1 +``` + +We try to move the dagger binary under `C:\Windows\System32` but +in case use missing the necessary permission we'll save everything under `/dagger` + ## Option 3: Download a binary release Open your web browser to [the latest release](https://github.com/dagger/dagger/releases/latest). diff --git a/install.ps1 b/install.ps1 new file mode 100644 index 00000000..8702ec3e --- /dev/null +++ b/install.ps1 @@ -0,0 +1,77 @@ +# param ( +# [Parameter(Mandatory)] $PersonalToken +# ) +Clear-Host +@" + +--------------------------------------------------------------------------------- +Author: Alessandro Festa +Dagger Installation Utility for Windows users +--------------------------------------------------------------------------------- + +"@ + +# Since we are already authenticated we may directly download latest version. +$name="dagger" +$base="https://dagger-io.s3.amazonaws.com" +function http_download { + $version=Get_Version + $version=$version -replace '[""]' + $version=$version -replace '\n' + $fileName="dagger_v" + $version + "_windows_amd64" + Clear-Host + $url = $base + "/" + $name + "/releases/" + $version + "/" + $fileName + ".zip" + write-host $url + Pause + + + Invoke-WebRequest -Uri $url -OutFile $env:temp/$fileName.zip -ErrorAction Stop + Expand-Archive -Path $env:temp/$fileName.zip -DestinationPath $env:HOMEPATH/dagger -Force -ErrorVariable ProcessError; + If ($ProcessError) + { + Clear-Host +@" +Whoops apparently we had an issue in unzipping the file, please check +you have the right permission to do so and try to unzip manually the file. +Currently we saved Dagger at your temp folder. +"@ +exit + } else { + Clear-Host + +@" + +Thank You for downloading Dagger! + +----------------------------------------------------- +Dagger has been saved at /dagger/ +Please add dagger.exe to your PATH in order to use it +---------------------------------------------------- + +"@ + } + +} + +function Get_Version { + $response = Invoke-RestMethod 'http://releases.dagger.io/dagger/latest_version' -Method 'GET' -Body $body -ErrorAction SilentlyContinue -ErrorVariable DownloadError + If ($DownloadError) + { + Clear-Host +@" + +--------------------------------------------------------------------------- +Houston we have a problem! + +Apparently we had an issue in downloading the file, please try again +run the script and if it still fail please open an issue on the Dagger repo. +---------------------------------------------------------------------------- + +"@ +exit + } + return $response + +} + +http_download \ No newline at end of file