SubPointSolutions / spmeta2

SharePoint artifact provision for .NET platform. Supports SharePoint Online, SharePoint 2019, 2016 and 2013 via CSOM/SSOM.
http://subpointsolutions.com/spmeta2
134 stars 56 forks source link

Initial metabox release - Packer/Vagrant boxes for SP2013/2016 development #1054

Open SubPointSupport opened 7 years ago

SubPointSupport commented 7 years ago

SPMeta2 development requires SharePoint 2013/2016 development environment. A consistent, easy well-documented and repeatable setup workflow is required.

Currently, we use Packer/Vagrant workflow to produce SharePoint 2013/2016 boxes. That needs to be documented as pushed out as a separate project.

The following repo needs to be used: https://github.com/SubPointSolutions/metabox

The following success criteria is to be met:

End-to-end workflow needs to be packed into only several commands:

# get the base box done
clear && sudo packer build -force windows_2012_r2_metadev.json && vagrant box add metadev_win2012_r2_virtualbox.box --force --name metadev_win2012_r2

# get the SP2013 bin box done - VS/SQL/SP bins
clear && sudo packer build -force windows_2012_r2_metadev-sp2013bin.json && vagrant box add metadev_win2012_r2_sp2013_bin_virtualbox.box  --force --name metadev_win2012_r2_sp13bin

# get the dc
vagrant up dc

# get the SQL 2012
vagrant up sql

# get SharePoint 2013 
vagrant up sp13

# get VS2013 box
vagrant up vs13

A repeatable Packer/Vagrant workflow already cuts full development environment re-creation into 40 minutes from nothing to everything on both Windows/Mac machines. We'd like to open source it, document and see how it might benefit other people.

Internally, we use it for both dev and SPMeta2 dev as well as to create a highly disposable, repeatable integration testing environment which consists of 8-12 SharePoint 2013 farms + NCrunch agents. We need these 8-12 farms to get SPMeta2 CSOM/SSOM testing done.

andreasblueher commented 7 years ago

One thing I love about SPMeta is that there is always something new I can learn from you guys. Haven't heard of Vagrant before and since we're struggeling in the past month setting up our Azure machines efficiently this is something I'll look into and I would love to see your documentation.

I suppose switching VS 2013 to VS 2017 shouldn't be big of deal, since we're using VS2017 only these days.