subpointsolutions-staging - InvokeUplift 0.1.20190602.134020

Helpers for the uplift project - battle-tested vagrant boxes for SharePoint professionals

PM> Install-Package InvokeUplift -Version 0.1.20190602.134020 -Source https://www.myget.org/F/subpointsolutions-staging/api/v3/index.json

Copy to clipboard

> nuget.exe install InvokeUplift -Version 0.1.20190602.134020 -Source https://www.myget.org/F/subpointsolutions-staging/api/v3/index.json

Copy to clipboard

> dotnet add package InvokeUplift --version 0.1.20190602.134020 --source https://www.myget.org/F/subpointsolutions-staging/api/v3/index.json

Copy to clipboard
<PackageReference Include="InvokeUplift" Version="0.1.20190602.134020" />
Copy to clipboard
source https://www.myget.org/F/subpointsolutions-staging/api/v3/index.json

nuget InvokeUplift  ~> 0.1.20190602.134020
Copy to clipboard

> choco install InvokeUplift --version 0.1.20190602.134020 --source https://www.myget.org/F/subpointsolutions-staging/api/v2

Copy to clipboard
Import-Module PowerShellGet
Register-PSRepository -Name "subpointsolutions-staging" -SourceLocation "https://www.myget.org/F/subpointsolutions-staging/api/v2"
Install-Module -Name "InvokeUplift" -RequiredVersion "0.1.20190602.134020" -Repository "subpointsolutions-staging" 
Copy to clipboard

uplift-powershell

This repository contains reusable PowerShell modules used in the uplift project.

The uplift project offers consistent Packer/Vagrant workflows and Vagrant boxes specifically designed for SharePoint professionals. It heavy lifts low-level details of the creation of domain controllers, SQL servers, SharePoint farms and Visual Studio installs by providing a codified workflow using Packer/Vagrant tooling.

Build status

Branch Status
master Build status
beta Build status
dev Build status

How this works

The uplift project is split into several repositories to address particular a piece of functionality:

The current repository houses reusable PowerShell modules which are used in both Packer builds and Vagrant boxes across the uplift project.

PowerShell modules

Currently, there are several PowerShell modules which live in the root folder:

  • /uplift.core - internal utilities for uplift project automation
  • /invoke-uplift - general purpose downloading tool

While uplift.core module is used for internal automation and should not be used publically, invoke-uplift provides a PowerShell6 module which handles file based routines: downloading files, validating checksum, creating a local repository of all downloaded files, transferring files into Packer/Vagrant VMs.

Uplift.Core

uplift.core is a PowerShell module which simplifies automation tasks within the uplift project. It can but should not be used publically. For the reference, refer to existing PowerShell scripts and all XXX-UpliftXXX methods used.

Invoke-Uplift

invoke-uplift is a PowerShell6 module which simplifies file based routines. It is a general purpose tool and can be used freely to automate file downloads, checksum validation, file service and transferring. It is built with PowerShell 6 which makes it portable across platforms; it works well on Windows and MacBook laptops, and even under Windows 2008.

invoke-uplift is a PowerShell6 module which simplifies file based routines. It is a general purpose tool and can be used freely to automate file downloads, checksum validation, file service and transferring. For example, json configuration can be used to specify which files to download. invoke-uplift will build a local repository with downloaded files which then can be used to serve files locally or uploaded to Azure/AWS storages.

This module is an essential part of the uplift project. We rely heavily on its automation to download and build local repository containing all ISOs, installation media, service packs and patches. Refer to following commands to get started:

Installing Invoke-Uplift

# subpointsolutions-staging on myget.org
# https://www.myget.org/feed/subpointsolutions-staging/package/nuget/InvokeUplift

# register 'subpointsolutions-staging' repository
Register-PSRepository -Name "subpointsolutions-staging" -SourceLocation "https://www.myget.org/F/subpointsolutions-staging/api/v2"

# install module under PowerShell 6
pwsh -c 'Install-Module -Name "InvokeUplift" -Repository "subpointsolutions-staging"'

Using Invoke-Uplift


# don't forget to switch to pwsh or use pwsh -c 'my-command' all the time
pwsh 

# default run, version and help
invoke-uplift 
invoke-uplift version
invoke-uplift help

Listing and downloading default resource

Invoke-Uplift provides more than a hundred file resources which can be used straight away. These are SharePoint media, ISOs, service packs, updates, parches and others.

invoke-uplift resource list

Once you know which resource to download, use resource name with resource download command:

# download resource by name
invoke-uplift resource download 7z-1805-x64
invoke-uplift resource download 7z-1805-x64

# download resource by name match, wildcard is used
invoke-uplift resource download 7z-

By default, invoke-uplift downloads files into uplift-local-repository folder within the directory where it was run. This can be changes by using -r or -repository option:

# download resource into a local folder
invoke-uplift resource download 7z-1805-x64 -r c:/my-files-repository

# download resources into a local folder
invoke-uplift resource download 7z-1805-x64 -repository c:/my-files-repository

Default resource provides by invoke-uplift can be found in the source code:

  • uplift-powershell\invoke-uplift\src\resource-files
 - 7z-1805-x64
 - 7z-1805-x86
 - hashicorp-packer-1.3.3-win
 - hashicorp-packer-1.3.3-darwin
 - hashicorp-packer-1.3.2-win
 - hashicorp-packer-1.3.2-darwin
 - hashicorp-vagrant-2.2.3-win
 - hashicorp-vagrant-2.2.3-osx
 - hashicorp-vagrant-2.2.2-win
 - hashicorp-vagrant-2.2.2-osx
 - hashicorp-vagrant-2.1.0-win
 - hashicorp-vagrant-2.1.0-osx
 - jetbrains-resharper-ultimate-2018.3.1
 - jetbrains-resharper-ultimate-2018.1.2
 - ms-dynamics-crm2016-server
 - ms-sharepoint2013-foundation
 - ms-sharepoint2013-rtm
 - ms-sharepoint2016-fp2
 - ms-sharepoint2016-rtm
 - ms-sharepoint2016-lang-pack-ar-sa
 - ms-sharepoint2016-lang-pack-cs-cz
 - ms-sharepoint2016-lang-pack-da-dk
 - ms-sharepoint2016-lang-pack-en-us
 - ms-sharepoint2016-lang-pack-de-de
 - ms-sharepoint2016-lang-pack-fr-fr
 - ms-sharepoint2016-lang-pack-fi-fi
 - ms-sharepoint2016-lang-pack-nl-nl
 - ms-sharepoint2016-lang-pack-he-il
 - ms-sharepoint2016-lang-pack-hi-in
 - ms-sharepoint2016-lang-pack-kk-kz
 - ms-sharepoint2016-lang-pack-it-it
 - ms-sharepoint2016-lang-pack-lv-lv
 - ms-sharepoint2016-lang-pack-pl-pl
 - ms-sharepoint2016-lang-pack-ru-ru
 - ms-sharepoint2016-lang-pack-ro-ro
 - ms-sharepoint2016-lang-pack-es-es
 - ms-sharepoint2016-lang-pack-sv-se
 - ms-sharepoint2016-lang-pack-uk-ua
 - ms-sharepoint2016-update-2016.11.08-KB3127940
 - ms-sharepoint2016-update-2016.11.08-KB3127942
 - ms-sharepoint2016-update-2016.12.13-KB3128014
 - ms-sharepoint2016-update-2016.12.13-KB3128017
 - ms-sharepoint2016-update-2017.01.10-KB3141486
 - ms-sharepoint2016-update-2017.01.10-KB3141487
 - ms-sharepoint2016-update-2017.02.14-KB3141515
 - ms-sharepoint2016-update-2017.02.21-KB3141517
 - ms-sharepoint2016-update-2017.03.14-KB3178672
 - ms-sharepoint2016-update-2017.03.14-KB3178675
 - ms-sharepoint2016-update-2017.04.11-KB3178718
 - ms-sharepoint2016-update-2017.04.11-KB3178721
 - ms-sharepoint2016-update-2017.05.09-KB3191880
 - ms-sharepoint2016-update-2017.05.09-KB3191884
 - ms-sharepoint2016-update-2017.06.13-KB3203432
 - ms-sharepoint2016-update-2017.06.13-KB3203433
 - ms-sharepoint2016-update-2017.07.11-KB3213544
 - ms-sharepoint2016-update-2017.07.11-KB3213543
 - ms-sharepoint2016-update-2017.08.08-KB4011049
 - ms-sharepoint2016-update-2017.08.08-KB4011053
 - ms-sharepoint2016-update-2017.09.12-KB4011127
 - ms-sharepoint2016-update-2017.09.12-KB4011112
 - ms-sharepoint2016-update-2017.10.10-KB4011217
 - ms-sharepoint2016-update-2017.10.10-KB4011161
 - ms-sharepoint2016-update-2017.11.14-KB4011244
 - ms-sharepoint2016-update-2017.11.14-KB4011243
 - ms-sharepoint2016-update-2017.12.12-KB4011576
 - ms-sharepoint2016-update-2017.12.12-KB4011578
 - ms-sharepoint2016-update-2018.01.09-KB4011642
 - ms-sharepoint2016-update-2018.01.09-KB4011645
 - ms-sharepoint2016-update-2018.02.13-KB4011680
 - ms-sharepoint2016-update-2018.03.13-KB4018293
 - ms-sharepoint2016-update-2018.03.13-KB4011687
 - ms-sharepoint2016-update-2018.04.10-KB4018336
 - ms-sharepoint2016-update-2018.04.10-KB4018340
 - ms-sharepoint2016-update-2018.05.08-KB4018381
 - ms-sharepoint2016-update-2018.05.08-KB4018386
 - ms-sharepoint2016-update-2018.06.12-KB4022173
 - ms-sharepoint2016-update-2018.06.12-KB4022178
 - ms-sharepoint2016-update-2018.07.10-KB4022228
 - ms-sharepoint2016-update-2018.08.14-KB4032256
 - ms-sharepoint2016-update-2018.08.14-KB4022231
 - ms-sharepoint2016-update-2018.09.11-KB4092459
 - ms-sharepoint2016-update-2018.10.09-KB4461447
 - ms-sharepoint2016-update-2018.10.09-KB4092463
 - ms-sharepoint2016-update-2018.11.13-KB4461501
 - ms-sharepoint2016-update-2018.12.11-KB4461541
 - ms-sharepoint2016-update-2019.01.08-KB4461598
 - ms-sharepoint-designer-x32
 - ms-sharepoint-designer-x64
 - ms-sql-server2012-sp2
 - ms-sql-server2014-sp2
 - ms-sql-server2016-rtm
 - ms-sql-server-management-studio-17.04
 - ms-visualstudio-2013.5.ent
 - ms-visualstudio-2013.4.ent
 - ms-visualstudio-2015.3.ent
 - ms-visualstudio-2015.2.ent
 - ms-visualstudio-2017.ent-installer
 - ms-visualstudio-2017.ent-dist-office-dev
 - ms-win2012r2-kb-dotnet46-KB3045557
 - ms-win2012r2-kb-2014.03-KB2919442
 - ms-win2012r2-kb-2014.04-KB2919355
 - ms-win-2016-iso-x64-eval
 - ms-win2016-lcu-2018.05.17-KB4103720
 - ms-win2016-lcu-2018.06.21-KB4284833
 - ms-win2016-lcu-2018.06.12-KB4284880
 - ms-win2016-lcu-2018.07.30-KB4346877
 - ms-win2016-lcu-2018.07.24-KB4338822
 - ms-win2016-lcu-2018.07.16-KB4345418
 - ms-win2016-lcu-2018.07.16-KB4338814
 - ms-win2016-lcu-2018.08.30-KB4343884
 - ms-win2016-lcu-2018.08.14-KB4343887
 - ms-win2016-lcu-2018.09.20-KB4457127
 - ms-win2016-lcu-2018.09.11-KB4457131
 - ms-win2016-lcu-2018.10.18-KB4462928
 - ms-win2016-lcu-2018.10.09-KB4462917
 - ms-win2016-lcu-2018.11.27-KB4467684
 - ms-win2016-lcu-2018.11.13-KB4467691
 - ms-win2016-lcu-2018.12.19-KB4483229
 - ms-win2016-lcu-2018.12.11-KB4471321
 - ms-win2016-lcu-2018.12.03-KB4478877
 - ms-win2016-lcu-2019.01.17-KB4480977
 - ms-win2016-lcu-2019.01.08-KB4480961
 - ms-win2016-ssu-2018.05.17-KB4132216
 - oracle-virtual-box-5.2.18-win
 - oracle-virtual-box-5.2.18-osx

Authoring custom file resources

By default, invoke-uplift looks for *.resource.json files within its PowerShell module folder and two levels within the current directory on where it was run. These *.resource.json files are where file resources are defined.

Such behaviour makes it easy to author project-specific file resources. invoke-uplift sees all resources defined within the current folder and two levels deep.

For example, create my-files.resource.json file as follows:

{
  "resources": [
    {
      "id": "my-7z-1805-x64",
      "uri": "https://www.7-zip.org/a/7z1805-x64.exe",

      "checksum": "C1E42D8B76A86EA1890AD080E69A04C75A5F2C0484BDCD838DC8FA908DD4A84C",
      "checksum_type": "SHA256",
      "metadata": {
        "help_link": "https://www.7-zip.org/download.html"
      }
    },
    {
      "id": "my-7z-1805-x86",
      "uri": "https://www.7-zip.org/a/7z1805.exe",

      "checksum": "647A9A621162CD7A5008934A08E23FF7C1135D6F1261689FD954AA17D50F9729",
      "checksum_type": "SHA256",
      "metadata": {
        "help_link": "https://www.7-zip.org/download.html"
      }
    }
  ]
}

Once done, list and download resources as usual:

# list resources
invoke-uplift resource list my- 

# download resources
invoke-uplift resource download my- -r c:/my-files-repository
invoke-uplift resource download 7z-1805-x64 -repository c:/my-files-repository

Forced file download

By default, files are downloaded with checksum verification. Assuming that the first download was successful, consequent downloading won't download anything. That makes downloading experience fast.

Sometimes we need to re-download files overriding existing ones. It can be done with -f or -force flag:

# list resources
invoke-uplift resource list my- 

# force download resources
invoke-uplift resource download my- -r c:/my-files-repository -f
invoke-uplift resource download 7z-1805-x64 -repository c:/my-files-repository -force

Debug trace level

By default, invoke-uplift reports only important information. Debug trace can be enabled with -d or -debug flag:

# list resources
invoke-uplift resource list my -d

# force download resources
invoke-uplift resource download my- -r c:/my-files-repository -f -d
invoke-uplift resource download 7z-1805-x64 -repository c:/my-files-repository -force -d

Local development workflow

Local development automation uses Invoke-Build based tasks

To get started, get the latest dev branch or fork the repo on the GitHub:

# get the source code
git clone https://github.com/SubPointSolutions/subpointsolutions-docs.git
cd subpointsolutions-docs

# checkout the dev branch
git checkout dev

# make sure we are on dev branch
git status

# optionally, pull the latest
git pull

Local development experience consists of Invoke-Build tasks. Two main files are .build.ps1 and .build-helpers.ps1. Use the following tasks to get started and refer to Invoke-Build documentation for additional help.

Change the current directory to the corresponding PowerShell module and run the following commands:

# show available tasks
invoke-build ?

# invoke default build
invoke-build 
invoke-build DefaultBuild

# invoke QA automation
invoke-build QA

# deploy/publish module
invoke-build ReleaseModule

Feature requests, support and contributions

All contributions are welcome. If you have an idea, create a new GitHub issue. Feel free to edit existing content and make a PR for this as well.

Owners

SubPointSolutions

Authors

SubPoint Solutions

Project URL

https://github.com/SubPointSolutions/uplift-powershell

License

Unknown

Tags

uplift download iso PSModule PSCommand_Invoke-Uplift PSCommand_uplift

Info

176 total downloads
27 downloads for version 0.1.20190602.134020
Download (101.72 KB)
Found on the current feed only

Package history

Version Size Last updated Downloads Mirrored?
0.1.20190602.134020 101.72 KB Sun, 02 Jun 2019 13:40:52 GMT 27
0.1.20190602.111248 99.89 KB Sun, 02 Jun 2019 11:13:24 GMT 0
0.1.20190602.25026 95.84 KB Sun, 02 Jun 2019 02:50:58 GMT 1
0.1.20190526.120944 88.9 KB Sun, 26 May 2019 12:10:15 GMT 1
0.1.20190526.120440 88.9 KB Sun, 26 May 2019 12:05:13 GMT 0
0.1.20190526.114733 88.91 KB Sun, 26 May 2019 11:48:05 GMT 0
0.1.20190526.114049 88.9 KB Sun, 26 May 2019 11:41:20 GMT 0
0.1.20190526.112529 87.81 KB Sun, 26 May 2019 11:26:01 GMT 0
0.1.20190511.142422 79.54 KB Sat, 11 May 2019 14:24:54 GMT 2
0.1.20190511.122603 79.04 KB Sat, 11 May 2019 12:26:45 GMT 0
0.1.20190511.70854 79.04 KB Sat, 11 May 2019 07:09:26 GMT 0
0.1.20190511.63549 79.04 KB Sat, 11 May 2019 06:36:26 GMT 0
0.1.20190511.54516 78.34 KB Sat, 11 May 2019 05:45:48 GMT 0
0.1.20190511.53355 77.83 KB Sat, 11 May 2019 05:34:27 GMT 0
0.1.20190506.145732 75.38 KB Mon, 06 May 2019 14:58:07 GMT 0
0.1.20190331.61616 73.61 KB Sun, 31 Mar 2019 06:16:49 GMT 0
0.1.20190331.60858 73.61 KB Sun, 31 Mar 2019 06:09:30 GMT 0
0.1.20190331.60354 73.62 KB Sun, 31 Mar 2019 06:04:26 GMT 0
0.1.20190221.85729 69.17 KB Thu, 21 Feb 2019 08:58:06 GMT 1
0.1.20190221.85200 69.16 KB Thu, 21 Feb 2019 08:52:36 GMT 0
0.1.20190221.84644 69.17 KB Thu, 21 Feb 2019 08:47:19 GMT 0
0.1.20190219.131659 69.17 KB Tue, 19 Feb 2019 13:17:40 GMT 0
0.1.20190218.41531 65.59 KB Mon, 18 Feb 2019 04:16:07 GMT 0
0.1.20190208.101051 61.01 KB Fri, 08 Feb 2019 10:11:31 GMT 0
0.1.20190208.100537 61.01 KB Fri, 08 Feb 2019 10:06:09 GMT 0
0.1.20190208.93741 61.01 KB Fri, 08 Feb 2019 09:38:24 GMT 1
0.1.20190208.82945 61.01 KB Fri, 08 Feb 2019 08:30:19 GMT 0
0.1.20190208.81327 61.01 KB Fri, 08 Feb 2019 08:14:00 GMT 0
0.1.20190208.71504 61.01 KB Fri, 08 Feb 2019 07:15:42 GMT 0
0.1.20190208.54500 61.01 KB Fri, 08 Feb 2019 05:45:34 GMT 0
0.1.20190207.134438 61.02 KB Thu, 07 Feb 2019 13:45:13 GMT 0
0.1.20190206.222332 61.02 KB Wed, 06 Feb 2019 22:24:04 GMT 0
0.1.20190206.221607 61.02 KB Wed, 06 Feb 2019 22:16:44 GMT 0
0.1.20190206.220827 61.02 KB Wed, 06 Feb 2019 22:09:10 GMT 0
0.1.20190206.103230 61.01 KB Wed, 06 Feb 2019 10:33:08 GMT 0
0.1.20190206.93440 61.01 KB Wed, 06 Feb 2019 09:35:14 GMT 0
0.1.20190205.35542 61.01 KB Tue, 05 Feb 2019 03:56:20 GMT 0
0.1.20190205.34037 61 KB Tue, 05 Feb 2019 03:41:08 GMT 0
0.1.20190204.24540 61 KB Mon, 04 Feb 2019 02:46:10 GMT 3
0.1.20190126.143805 61.45 KB Sat, 26 Jan 2019 03:38:48 GMT 40
0.1.20190126.124510 56.85 KB Sat, 26 Jan 2019 01:45:51 GMT 5
0.1.20190125.110957 56.29 KB Fri, 25 Jan 2019 00:10:52 GMT 3
0.1.20190124.141153 51.56 KB Thu, 24 Jan 2019 03:12:41 GMT 3
0.1.20190124.120412 51.48 KB Thu, 24 Jan 2019 01:05:02 GMT 0
0.1.20190124.204 43.24 KB Wed, 23 Jan 2019 13:02:53 GMT 11
0.1.20190123.151309 43.25 KB Wed, 23 Jan 2019 04:13:52 GMT 5
0.1.20190122.215437 43.15 KB Tue, 22 Jan 2019 10:55:29 GMT 9
0.1.20190121.125721 43.12 KB Mon, 21 Jan 2019 01:58:02 GMT 11
0.1.20190119.115524 43.12 KB Sat, 19 Jan 2019 00:56:05 GMT 2
0.1.20190118.222515 43.12 KB Fri, 18 Jan 2019 11:25:57 GMT 2
0.1.20190118.145945 43 KB Fri, 18 Jan 2019 04:00:34 GMT 4
0.1.20190118.141833 42.99 KB Fri, 18 Jan 2019 03:19:21 GMT 0
0.1.20190118.135602 42.99 KB Fri, 18 Jan 2019 02:56:46 GMT 2
0.1.20190118.124331 43 KB Fri, 18 Jan 2019 01:44:18 GMT 0
0.1.20190118.105215 24.6 KB Thu, 17 Jan 2019 23:52:58 GMT 3
0.1.20190112.144316 39.69 KB Sat, 12 Jan 2019 03:43:56 GMT 14
0.1.20190111.142323 36.8 KB Fri, 11 Jan 2019 03:24:05 GMT 19
0.1.20190110.173147 34.31 KB Thu, 10 Jan 2019 06:32:30 GMT 2
0.1.20190110.170702 34.15 KB Thu, 10 Jan 2019 06:07:41 GMT 0
0.1.20190110.121009 34.11 KB Thu, 10 Jan 2019 03:47:22 GMT 0
0.1.20190109.232537 32.53 KB Wed, 09 Jan 2019 12:28:17 GMT 2
0.1.20190107.11556 26 KB Sun, 06 Jan 2019 14:20:18 GMT 1
0.1.20190106.205747 24.04 KB Sun, 06 Jan 2019 09:59:00 GMT 0
0.1.20190106.171939 22.65 KB Sun, 06 Jan 2019 06:20:51 GMT 1
0.1.20190106.171028 22.62 KB Sun, 06 Jan 2019 06:12:31 GMT 1
0.1.20190106.165303 22.62 KB Sun, 06 Jan 2019 05:54:58 GMT 0
0.1.20190106.153529 22.61 KB Sun, 06 Jan 2019 05:50:59 GMT 0