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 > > >>>>> > > >>>>> > > >>>> > > >>> > > >> > > > > >