Thanks for the detailed instructions. We're actually going in a slightly different direction and use a simple Samba file share to publish the artifacts, at least for the time being. Perhaps then we'll be ready for something like Artifactory.
Rich On Thu, Jun 17, 2010 at 4:21 PM, Geoff Clitheroe <g.clithe...@gmail.com>wrote: > Hi, > > I'm afraid I don't strictly know the answers to those questions. Here's > what we do: > > I'm working on linux, setting up my agent looks like > > ssh-agent | head -2 > ~/.agent (there are flags for creating env > variables for diff shells). > source ~/.agent > ssh-add (specify key file if needs be) > ...enter passphrase... > > The agent now holds you decrypted key and will answer authentication > challenges for you (for as long as the process is running). Note: if you > find ideas on the internet about an agent group and sharing an agent > amongst > accounts be cautious: ssh has become much stricter about permissions on the > process (file system node) and it is only really practical to have an agent > for each account now. > > We then publish and install to the local file system and rsync over ssh to > the remote repo (hence I don't know if the ssh resolver will work with > agents). > > The relevant bits of our build_base file are below. Note we rsync to two > repoes. This would run something like > > ant ivy-rsync-module > > with the option of -Drsync.additional="-P --dry-run" > > Cheers, > Geoff > > > > <macrodef name="rsync-macro"> > <attribute name="source"/> > <attribute name="target"/> > <attribute name="rsync-additional"/> > > <sequential> > <exec executable="rsync"> > <arg line="-v @{rsync-additional}"/> > <arg value="--rsh=ssh"/> > <arg value="--archive"/> > <arg value="--ignore-existing"/> > <arg value="--chmod=Da+rx,ug+w,Fa+r,ug+w"/> > <arg value="@{source}"/> > <arg value="${repoadmin.ivy.geonet}@ > @${repo.server.ivy.geonet}:@{target}/"/> > </exec> > </sequential> > </macrodef> > > <target name="ivy-rsync-enterprise" depends="ivy-force-init" > description="Rsync the tmp repo to the enterprise repo. > Existing files on the receiver are ignored (--ignore-existing). > Use rsync.additional to pass any extra flags to rsync e.g., > -Drsync.additional=--dry-run"> > <property name="rsync.additional" value=" "/> > <rsync-macro source="${enterprise.repo.dir.enterprise.tmp}/" > target="${enterprise.repo.dir.enterprise}" > rsync-additional="${rsync.additional}"/> > </target> > > <target name="ivy-rsync-publish" depends="ivy-force-init" > description="Rsync the tmp repo to the publish repo. > Existing files on the receiver are ignored (--ignore-existing). > Use rsync.additional to pass any extra flags to rsync e.g., > -Drsync.additional=--dry-run"> > <property name="rsync.additional" value=" "/> > <rsync-macro source="${enterprise.repo.dir.publish.tmp}/" > target="${enterprise.repo.dir.publish}" > rsync-additional="${rsync.additional}"/> > </target> > > <target name="ivy-rsync-module" depends="ivy-rsync-enterprise, > ivy-rsync-publish" /> > >