ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steele, Richard" <r...@steelezone.net>
Subject Re: Suggestions for publishing to Ivy repo from Hudson using ssh
Date Thu, 24 Jun 2010 10:55:25 GMT
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.clitheroe@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" />
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message