+1 for packer scripts. With Jake's readme everyone should be able to use it as a standard way to build environment for the native client.
Thanks for sharing that! Sent from my iPhone > On Feb 2, 2017, at 7:20 PM, Michael Martell <mmart...@pivotal.io> wrote: > > For those unfamiliar with packer, or looking for the simplest path to > building and learning the code, it may be advantageous to post the steps > for each platform. Personally, I like to learn new code by stepping thru > examples in the debugger. I'd be happy to post my setup for debugging the > Geode C++ client on Windows 10 with Visual Studio and OSX with Xcode. > > Mike > >> On Thu, Feb 2, 2017 at 4:41 PM Jacob Barrett <jbarr...@pivotal.io> wrote: >> >> I have a readme started that I will commit when I am back from vacation in >> a week. >> On Thu, Feb 2, 2017 at 4:36 PM Anthony Baker <aba...@pivotal.io> wrote: >> >>> +1 for a README >>> >>> I started on a Dockerfile so we could run a job on builds.apache.org. I >>> haven’t been able to get back to it recently but here’s a rough draft: >>> >>> FROM ubuntu >>> MAINTAINER Apache Geode Geode <dev@geode.apache.org> >>> >>> ARG GEODE_VERSION >>> >>> RUN \ >>> apt-get update && \ >>> apt-get -y upgrade && \ >>> apt-get install -y build-essential && \ >>> apt-get install -y cmake && \ >>> apt-get install -y doxygen && \ >>> apt-get install -y git && \ >>> apt-get install -y openjdk-8-jdk && \ >>> apt-get install -y wget && \ >>> apt-get install -y zlib1g-dev && \ >>> rm -rf /var/lib/apt/lists/* >>> >>> RUN \ >>> wget >>> >> https://builds.apache.org/job/Geode-nightly/lastSuccessfulBuild/artifact/geode-assembly/build/distributions/apache-geode-${GEODE_VERSION}.tar.gz >>> && \ >>> tar xzf apache-geode-${GEODE_VERSION}.tar.gz && \ >>> ls / >>> #rm apache-geode-${GEODE_VERSION.tar}.tar.gz >>> >>> ENV GEODE /apache-geode-${GEODE_VERSION} >>> ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 >>> >>> CMD ["bash"] >>> >>> >>> As far as releases go, I think we should start with a source-only release >>> (after all that’s the only *officially* recognized artifact anyway). If >> we >>> want to create binary convenience artifacts for a release, I would be >>> hesitant to go beyond linux because multi-platforms builds impose a large >>> burden on the Release Manager. >>> >>> Anthony >>> >>>> On Feb 2, 2017, at 4:26 PM, Dan Smith <dsm...@pivotal.io> wrote: >>>> >>>> It does seem like this stuff needs a README on how to use it. >>>> >>>> Are we going to need these images do a release of the native client >> code? >>>> How many of these platforms will we need to build on to release the >>> native >>>> client? >>>> >>>> -Dan >>>> >>>> On Thu, Feb 2, 2017 at 3:43 PM, Jacob Barrett <jbarr...@pivotal.io> >>> wrote: >>>> >>>>> Think of it as a Dockerfile for things not Docker, like Solaris and >>>>> Windows. It describes and can build a machine capable of compile or >>>>> developing the native client. The toolchain is slightly more >> complicated >>>>> than the Java side. Currently the Packer files are implemented for AWS >>> but >>>>> can easily be modified to support other virtualization platforms like >>>>> VMWare, OpenStack, etc. >>>>> >>>>> -Jake >>>>> >>>>> >>>>> On Thu, Feb 2, 2017 at 3:38 PM Ernest Burghardt < >> eburgha...@pivotal.io> >>>>> wrote: >>>>> >>>>>> Hi Mark, >>>>>> >>>>>> Our thinking was to make our packer (and associated) scripts >> available >>>>> such >>>>>> that a community member could use them to create a VM that would be >>> very >>>>>> equivalent to our build environment. >>>>>> There is some info/documentation that would need to be created to >> show >>>>> how >>>>>> to do this, but it should be possible for an individual to make >> images >>>>> like >>>>>> we do in our pipeline. >>>>>> >>>>>> Best, >>>>>> Ernie >>>>>> >>>>>> On Thu, Feb 2, 2017 at 3:07 PM, Mark Bretl <mbr...@apache.org> >> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> How does/will this help the community? >>>>>>> >>>>>>> --Mark >>>>>>> >>>>>>>> On Thu, Feb 2, 2017 at 2:25 PM, <upthewatersp...@apache.org> wrote: >>>>>>>> >>>>>>>> Repository: geode >>>>>>>> Updated Branches: >>>>>>>> refs/heads/next-gen-native-client-software-grant e79c4072b -> >>>>>>> 340f2fca8 >>>>>>>> >>>>>>>> >>>>>>>> GEODE-2421: Adding packer portion of making a VS2015 dev AMI >>>>>>>> >>>>>>>> This closes #384 >>>>>>>> >>>>>>>> >>>>>>>> Project: http://git-wip-us.apache.org/repos/asf/geode/repo >>>>>>>> Commit: >> http://git-wip-us.apache.org/repos/asf/geode/commit/340f2fca >>>>>>>> Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/340f2fca >>>>>>>> Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/340f2fca >>>>>>>> >>>>>>>> Branch: refs/heads/next-gen-native-client-software-grant >>>>>>>> Commit: 340f2fca80d9388155ed0911712f9a830211b32b >>>>>>>> Parents: e79c407 >>>>>>>> Author: Ernest Burghardt <eburgha...@pivotal.io> >>>>>>>> Authored: Thu Feb 2 14:03:10 2017 -0800 >>>>>>>> Committer: Dan Smith <upthewatersp...@apache.org> >>>>>>>> Committed: Thu Feb 2 14:24:20 2017 -0800 >>>>>>>> >>>>>>>> ------------------------------------------------------------ >>>>> ---------- >>>>>>>> packer/windows-2012-vs-2015.json | 64 >>>>>>> +++++++++++++++++++++++ >>>>>>>> packer/windows/install-vs-2015-community.ps1 | 9 ++++ >>>>>>>> 2 files changed, 73 insertions(+) >>>>>>>> ------------------------------------------------------------ >>>>> ---------- >>>>>>>> >>>>>>>> >>>>>>>> http://git-wip-us.apache.org/repos/asf/geode/blob/340f2fca/p >>>>>>>> acker/windows-2012-vs-2015.json >>>>>>>> ------------------------------------------------------------ >>>>> ---------- >>>>>>>> diff --git a/packer/windows-2012-vs-2015.json >>>>>>>> b/packer/windows-2012-vs-2015.json >>>>>>>> new file mode 100644 >>>>>>>> index 0000000..da82b94 >>>>>>>> --- /dev/null >>>>>>>> +++ b/packer/windows-2012-vs-2015.json >>>>>>>> @@ -0,0 +1,64 @@ >>>>>>>> +{ >>>>>>>> + "variables":{ >>>>>>>> + "region":"us-west-2", >>>>>>>> + "source_ami":"ami-ac5395cc", >>>>>>>> + "source_image_name":"X.vmx", >>>>>>>> + "image_name":"windows-2012-vs-2015" >>>>>>>> + }, >>>>>>>> + "builders":[ >>>>>>>> + { >>>>>>>> + "type":"amazon-ebs", >>>>>>>> + "instance_type":"t2.large", >>>>>>>> + "ami_name":"native-{{user `version`}}-{{user `image_name`}} >>>>>>>> {{timestamp}}", >>>>>>>> + "access_key":"{{user `aws_access_key`}}", >>>>>>>> + "secret_key":"{{user `aws_secret_key`}}", >>>>>>>> + "region":"{{user `region`}}", >>>>>>>> + "source_ami":"{{user `source_ami`}}", >>>>>>>> + "subnet_id":"{{user `subnet_id`}}", >>>>>>>> + "vpc_id":"{{user `vpc_id`}}", >>>>>>>> + "tags":{ >>>>>>>> + "team":"native", >>>>>>>> + "version":"{{user `version`}}", >>>>>>>> + "source_ami":"{{user `source_ami`}}" >>>>>>>> + }, >>>>>>>> + "communicator":"winrm", >>>>>>>> + "winrm_username":"Administrator", >>>>>>>> + "launch_block_device_mappings":[ >>>>>>>> + { >>>>>>>> + "device_name":"/dev/sda1", >>>>>>>> + "delete_on_termination":true, >>>>>>>> + "volume_size":60 >>>>>>>> + } >>>>>>>> + ] >>>>>>>> + } >>>>>>>> + ], >>>>>>>> + "provisioners":[ >>>>>>>> + { >>>>>>>> + "pause_before":"30s", >>>>>>>> + "type":"file", >>>>>>>> + "source":"windows/Packer.psm1", >>>>>>>> + "destination":"Documents/WindowsPowerShell/Modules/Packer/ >>>>>>>> Packer.psm1" >>>>>>>> + }, >>>>>>>> + { >>>>>>>> + "type":"powershell", >>>>>>>> + "scripts":[ >>>>>>>> + "windows/install-vs-2015-community.ps1" >>>>>>>> + ] >>>>>>>> + }, >>>>>>>> + { >>>>>>>> + "type":"powershell", >>>>>>>> + "scripts":[ >>>>>>>> + "windows/cleanup.ps1" >>>>>>>> + ] >>>>>>>> + }, >>>>>>>> + { >>>>>>>> + "type":"powershell", >>>>>>>> + "scripts":[ >>>>>>>> + "windows/setup-ec2config.ps1" >>>>>>>> + ], >>>>>>>> + "only":[ >>>>>>>> + "amazon-ebs" >>>>>>>> + ] >>>>>>>> + } >>>>>>>> + ] >>>>>>>> +} >>>>>>>> >>>>>>>> http://git-wip-us.apache.org/repos/asf/geode/blob/340f2fca/p >>>>>>>> acker/windows/install-vs-2015-community.ps1 >>>>>>>> ------------------------------------------------------------ >>>>> ---------- >>>>>>>> diff --git a/packer/windows/install-vs-2015-community.ps1 >>>>>>>> b/packer/windows/install-vs-2015-community.ps1 >>>>>>>> new file mode 100644 >>>>>>>> index 0000000..c175410 >>>>>>>> --- /dev/null >>>>>>>> +++ b/packer/windows/install-vs-2015-community.ps1 >>>>>>>> @@ -0,0 +1,9 @@ >>>>>>>> +# TODO AdminDeploy.xml >>>>>>>> +# vs_community.exe /AdminFile C:\Users\Administrator\ >>>>>>> AdminDeployment.xml >>>>>>>> /Log setup.log /Passive >>>>>>>> +Set-PSDebug -Trace 0 >>>>>>>> + >>>>>>>> +Import-Module Packer >>>>>>>> + >>>>>>>> +$log = "vs_community.log" >>>>>>>> + >>>>>>>> +choco install visualstudio2015community -confirm >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>> >>> >>