3

ビルド プロセスで Visual Studio Team Services (VSTS) がホストするビルド エージェントを使用しています。私のビルドは主に、git にあるスクリプトを呼び出す「PowerShell」ステップに依存しています。このスクリプト内から、PowerShellGet を使用して PowerShell モジュールを管理したいと考えています。たとえば、実行するだけでpscxをインストールできるようにしたいと思います

Install-Module -Name pscx

PowerShellGet残念ながら、ホストされたエージェントは PowerShell 4 を使用しており、モジュールがインストールされていません。そのため、Install-Module機能は使用できません。

VSTS でホストされたエージェントで PowerShellGet モジュールを使用する提案はありますか? このマシンの管理者権限がないため、PowerShell 4 用の PowerShellGet をインストールする msi をインストールできないことに注意してください。

4

1 に答える 1

5

PowerShellGet を使用できるようにするには、2 つの PowerShell モジュールが必要です。

  • PowerShellGet
  • パッケージ管理

これらは、PowerShell 5 ですぐに利用できるか、PowerShell ギャラリーで利用可能な msi インストーラーを介して利用できます。

これらのモジュールを msi を介して展開する代わりに、単にそれらを git リポジトリに追加することができます (例: という名前のフォルダー内PsModules)。これらのモジュールは、PS5 または msi がインストールされているマシンで使用できます。通常はC:\Program Files\WindowsPowerShell\Modulesフォルダにあります。

次に、PsModulesフォルダーを PSModulePath 環境変数に追加します。そこから、次のように PowerShellGet を使用できます。

$env:PSModulePath = "$env:BUILD_SOURCESDIRECTORY\PsModules;$env:PSModulePath"
Import-Module PowerShellGet
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -Scope currentuser
Save-Module pscx -path "$env:BUILD_SOURCESDIRECTORY\PsModules"
import-module pscx
Write-Host '************************'
Get-Command -module pscx
于 2016-05-01T11:25:18.993 に答える