我拥有:我需要安装的流浪桌面应用程序(Windows应用程序(exe)),在公司网络中共享的文件夹(保存应用程序版本)。
我需要做什么:
所有流程都应尽可能自动化。
但是我无法将Vagrant和复制/安装应用程序组合到Vagrant机器上。我深入研究了PowerShell - 但没有运气......我有用于静默安装的PowerShell脚本,但也许有能力为所有这些操作创建一个脚本(例如在PowerShell中)?我知道我可以使用Chocolatey,但我需要一个可以一步一步动作的脚本。
答案 0 :(得分:0)
我通过创建非常简单的脚本来解决问题,该脚本基于Chocolatey命令(脚本安装Vagrant,VirtualBox,我需要的副本文件,创建我需要的文件夹):
# Set PowerShell policy to Unrestricted
Set-ExecutionPolicy Unrestricted -Force
# Install Chocolatey
iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex
# Turn off confirmation in Chocolatey
chocolatey feature enable -n=allowGlobalConfirmation
# Install Vagrant
choco install vagrant
# Install VirutalBox
choco install virtualbox
# Create folder where Vagrant box will be placed
New-Item -ItemType directory -Path "D:\VagrantBoxes\Win8"
# Create folder where release will be placed
New-Item -ItemType directory -Path "D:\Release"
# Map network drive (release folder)
New-PSDrive –Name “B” –PSProvider FileSystem –Root
“\\r\P\A\OS\D B\R 2\x64” –Persist
# Map network drive (vagrant boxes folder)
New-PSDrive –Name “B” –PSProvider FileSystem –Root
“\\r\P\A\A\V M\V m” –Persist
# Copy Vagrant box from network folder
Copy-Item -Path
"B:\windows_81x64-enterprise_virtualbox_15.07.17.box" -Destination "D:\VagrantBoxes\Win8"
# Copy newest build from network folder to remote machine
Get-ChildItem "B:\" -Filter '*.exe' | Where Name -NotMatch '.*NoDB\.exe$' | Sort LastWriteTime -Descending | Select -First 1 | Copy-Item -Destination 'D:\'
# Navigate to folder where Vagrant file will be placed
CD "D:\VagrantBoxes\Win8"
# Mount Windows box
vagrant init windows_81x64-enterprise_virtualbox_15.07.17.box
# Run Vagrant
vagrant up
第二个脚本用于Windows机器内软件的安装过程(我不能在此处发布此代码)。