You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by rjk1408 <ro...@gmail.com> on 2008/07/10 21:08:42 UTC

Remote access and continuous integration

Hi all,

        I have been looking through posts for answers to my questions -
found many similar threads, but nothing yet that is nearly exact. My
apologies for any repetition.

1. I have a svn repository setup on a server that resides locally where I
work. This repository is currently being accessed through Apache. 

2.I am developing a continuous integration system, whereby, the entire
process of merging and committing work to the repository will be automated
(tests need to be performed on a persons code before it can be checked in
etc.)

3. I wish to have a program running on a remote server (possibly a daemon
process), 1000 miles away, that will, at 11 pm every night, checkout the
trunk of the repository I mentioned in step 1.

Question: How do I configure my repository such that

a. The daemon process on the remote server reads and writes from my
repository through the http protocol through apache AND

b. The developers working along with me, move to the file-system access
(file:///) method of accessing the local repository.


I have attached an image 
[ http://www.nabble.com/file/p18391942/remote_access_to_repo.jpg
remote_access_to_repo.jpg ]

that describes this scenario. Kindly excuse the typo's in the drawing.(
There are 3 USER 1's - it should be USER 1, USER 2, USER 3).

Thank you.
-- 
View this message in context: http://www.nabble.com/Remote-access-and-continuous-integration-tp18391942p18391942.html
Sent from the Subversion Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

RE: Remote access and continuous integration

Posted by vi...@viewtier.com.
> Question: How do I configure my repository such that
> 
> a. The daemon process on the remote server reads and writes from my
> repository through the http protocol through apache AND
> 
> b. The developers working along with me, move to the file-system access
> (file:///) method of accessing the local repository.

Users of our Parabuild Continuous Integration systems http://www.viewtier.com/products/parabuild.htm who employ Subversion as as their VCS have successfully used Subversion's wright-through proxy. This allows the Continuous Integration system to have the read speed of the local Subversion server, which is what you seem to be looking for. Here is the link to Subversion documentation http://svnbook.red-bean.com/en/1.5/svn.serverconfig.httpd.html#svn.serverconfig.httpd.extra.writethruproxy

The extreme optimization is to have the proxy server set up right on the Continuous Integration server box.

Hope this helps.

Regards,

Slava Imeshev

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=988516

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].

Re: Remote access and continuous integration

Posted by Andy Levy <an...@gmail.com>.
On Fri, Jul 11, 2008 at 12:35, Rohan Joseph <ro...@gmail.com> wrote:
> But this still does not address the issue of speed, does it? I agree
> with the security part, but why is it so slow?

Quoting myself:

When you use Apache, the path-based authorization checks are performed
for each path as it's checked out.
http://svnbook.red-bean.com/en/1.4/svn.serverconfig.httpd.html#svn.serverconfig.httpd.authz.pathauthzoff

If you're doing more work on the checkout action (checkout AND
security checks using HTTP, vs. checkout only using file://), and have
to make a connection to the server for each path/file, then it follows
that it will take longer.

> On Fri, Jul 11, 2008 at 6:27 AM, Andy Levy <an...@gmail.com> wrote:
>> On Fri, Jul 11, 2008 at 00:40, Rohan Joseph <ro...@gmail.com> wrote:
>>> Thanks for the pointer on the weblink.Agreed, that it is a step
>>> backwards  - but for the reason of speed. For some reason, every
>>> command that works on http:// is much much slower than the
>>> corresponding command run on file:/// . Even a simple command like svn
>>> list http:// displays results in jolts and breaks instead of the
>>> file:// method of access. If there is something I am missing about it,
>>> could you please point it out?
>>
>> When you use file://, there is zero security. When you use Apache, the
>> path-based authorization checks are performed for each path as it's
>> checked out. http://svnbook.red-bean.com/en/1.4/svn.serverconfig.httpd.html#svn.serverconfig.httpd.authz.pathauthzoff
>>
>>> On Thu, Jul 10, 2008 at 4:52 PM, Andy Levy <an...@gmail.com> wrote:
>>>> On Thu, Jul 10, 2008 at 17:08, rjk1408 <ro...@gmail.com> wrote:
>>>>>
>>>>> Hi all,
>>>>>
>>>>>        I have been looking through posts for answers to my questions -
>>>>> found many similar threads, but nothing yet that is nearly exact. My
>>>>> apologies for any repetition.
>>>>>
>>>>> 1. I have a svn repository setup on a server that resides locally where I
>>>>> work. This repository is currently being accessed through Apache.
>>>>>
>>>>> 2.I am developing a continuous integration system, whereby, the entire
>>>>> process of merging and committing work to the repository will be automated
>>>>> (tests need to be performed on a persons code before it can be checked in
>>>>> etc.)
>>>>>
>>>>> 3. I wish to have a program running on a remote server (possibly a daemon
>>>>> process), 1000 miles away, that will, at 11 pm every night, checkout the
>>>>> trunk of the repository I mentioned in step 1.
>>>>>
>>>>> Question: How do I configure my repository such that
>>>>>
>>>>> a. The daemon process on the remote server reads and writes from my
>>>>> repository through the http protocol through apache AND
>>>>>
>>>>> b. The developers working along with me, move to the file-system access
>>>>> (file:///) method of accessing the local repository.
>>>>>
>>>>
>>>> If you're currently using Apache for your human users (as opposed to
>>>> the CI system you're writing), why take a step backwards in
>>>> configurability and security by going to file:/// access?
>>>>
>>>> If you're sure this is the right thing to do (and I'm not convinced),
>>>> The Manual provides information on supporting multiple access methods.
>>>> http://svnbook.red-bean.com/en/1.4/svn.serverconfig.multimethod.html
>>>>
>>>
>>>
>>>
>>> --
>>> Best Regards,
>>>
>>> Rohan Joseph
>>>
>>
>
>
>
> --
> Best Regards,
>
> Rohan Joseph
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Remote access and continuous integration

Posted by Rohan Joseph <ro...@gmail.com>.
But this still does not address the issue of speed, does it? I agree
with the security part, but why is it so slow?

On Fri, Jul 11, 2008 at 6:27 AM, Andy Levy <an...@gmail.com> wrote:
> On Fri, Jul 11, 2008 at 00:40, Rohan Joseph <ro...@gmail.com> wrote:
>> Thanks for the pointer on the weblink.Agreed, that it is a step
>> backwards  - but for the reason of speed. For some reason, every
>> command that works on http:// is much much slower than the
>> corresponding command run on file:/// . Even a simple command like svn
>> list http:// displays results in jolts and breaks instead of the
>> file:// method of access. If there is something I am missing about it,
>> could you please point it out?
>
> When you use file://, there is zero security. When you use Apache, the
> path-based authorization checks are performed for each path as it's
> checked out. http://svnbook.red-bean.com/en/1.4/svn.serverconfig.httpd.html#svn.serverconfig.httpd.authz.pathauthzoff
>
>> On Thu, Jul 10, 2008 at 4:52 PM, Andy Levy <an...@gmail.com> wrote:
>>> On Thu, Jul 10, 2008 at 17:08, rjk1408 <ro...@gmail.com> wrote:
>>>>
>>>> Hi all,
>>>>
>>>>        I have been looking through posts for answers to my questions -
>>>> found many similar threads, but nothing yet that is nearly exact. My
>>>> apologies for any repetition.
>>>>
>>>> 1. I have a svn repository setup on a server that resides locally where I
>>>> work. This repository is currently being accessed through Apache.
>>>>
>>>> 2.I am developing a continuous integration system, whereby, the entire
>>>> process of merging and committing work to the repository will be automated
>>>> (tests need to be performed on a persons code before it can be checked in
>>>> etc.)
>>>>
>>>> 3. I wish to have a program running on a remote server (possibly a daemon
>>>> process), 1000 miles away, that will, at 11 pm every night, checkout the
>>>> trunk of the repository I mentioned in step 1.
>>>>
>>>> Question: How do I configure my repository such that
>>>>
>>>> a. The daemon process on the remote server reads and writes from my
>>>> repository through the http protocol through apache AND
>>>>
>>>> b. The developers working along with me, move to the file-system access
>>>> (file:///) method of accessing the local repository.
>>>>
>>>
>>> If you're currently using Apache for your human users (as opposed to
>>> the CI system you're writing), why take a step backwards in
>>> configurability and security by going to file:/// access?
>>>
>>> If you're sure this is the right thing to do (and I'm not convinced),
>>> The Manual provides information on supporting multiple access methods.
>>> http://svnbook.red-bean.com/en/1.4/svn.serverconfig.multimethod.html
>>>
>>
>>
>>
>> --
>> Best Regards,
>>
>> Rohan Joseph
>>
>



-- 
Best Regards,

Rohan Joseph

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Remote access and continuous integration

Posted by Andy Levy <an...@gmail.com>.
On Fri, Jul 11, 2008 at 00:40, Rohan Joseph <ro...@gmail.com> wrote:
> Thanks for the pointer on the weblink.Agreed, that it is a step
> backwards  - but for the reason of speed. For some reason, every
> command that works on http:// is much much slower than the
> corresponding command run on file:/// . Even a simple command like svn
> list http:// displays results in jolts and breaks instead of the
> file:// method of access. If there is something I am missing about it,
> could you please point it out?

When you use file://, there is zero security. When you use Apache, the
path-based authorization checks are performed for each path as it's
checked out. http://svnbook.red-bean.com/en/1.4/svn.serverconfig.httpd.html#svn.serverconfig.httpd.authz.pathauthzoff

> On Thu, Jul 10, 2008 at 4:52 PM, Andy Levy <an...@gmail.com> wrote:
>> On Thu, Jul 10, 2008 at 17:08, rjk1408 <ro...@gmail.com> wrote:
>>>
>>> Hi all,
>>>
>>>        I have been looking through posts for answers to my questions -
>>> found many similar threads, but nothing yet that is nearly exact. My
>>> apologies for any repetition.
>>>
>>> 1. I have a svn repository setup on a server that resides locally where I
>>> work. This repository is currently being accessed through Apache.
>>>
>>> 2.I am developing a continuous integration system, whereby, the entire
>>> process of merging and committing work to the repository will be automated
>>> (tests need to be performed on a persons code before it can be checked in
>>> etc.)
>>>
>>> 3. I wish to have a program running on a remote server (possibly a daemon
>>> process), 1000 miles away, that will, at 11 pm every night, checkout the
>>> trunk of the repository I mentioned in step 1.
>>>
>>> Question: How do I configure my repository such that
>>>
>>> a. The daemon process on the remote server reads and writes from my
>>> repository through the http protocol through apache AND
>>>
>>> b. The developers working along with me, move to the file-system access
>>> (file:///) method of accessing the local repository.
>>>
>>
>> If you're currently using Apache for your human users (as opposed to
>> the CI system you're writing), why take a step backwards in
>> configurability and security by going to file:/// access?
>>
>> If you're sure this is the right thing to do (and I'm not convinced),
>> The Manual provides information on supporting multiple access methods.
>> http://svnbook.red-bean.com/en/1.4/svn.serverconfig.multimethod.html
>>
>
>
>
> --
> Best Regards,
>
> Rohan Joseph
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Remote access and continuous integration

Posted by Rohan Joseph <ro...@gmail.com>.
Thanks for the pointer on the weblink.Agreed, that it is a step
backwards  - but for the reason of speed. For some reason, every
command that works on http:// is much much slower than the
corresponding command run on file:/// . Even a simple command like svn
list http:// displays results in jolts and breaks instead of the
file:// method of access. If there is something I am missing about it,
could you please point it out?


On Thu, Jul 10, 2008 at 4:52 PM, Andy Levy <an...@gmail.com> wrote:
> On Thu, Jul 10, 2008 at 17:08, rjk1408 <ro...@gmail.com> wrote:
>>
>> Hi all,
>>
>>        I have been looking through posts for answers to my questions -
>> found many similar threads, but nothing yet that is nearly exact. My
>> apologies for any repetition.
>>
>> 1. I have a svn repository setup on a server that resides locally where I
>> work. This repository is currently being accessed through Apache.
>>
>> 2.I am developing a continuous integration system, whereby, the entire
>> process of merging and committing work to the repository will be automated
>> (tests need to be performed on a persons code before it can be checked in
>> etc.)
>>
>> 3. I wish to have a program running on a remote server (possibly a daemon
>> process), 1000 miles away, that will, at 11 pm every night, checkout the
>> trunk of the repository I mentioned in step 1.
>>
>> Question: How do I configure my repository such that
>>
>> a. The daemon process on the remote server reads and writes from my
>> repository through the http protocol through apache AND
>>
>> b. The developers working along with me, move to the file-system access
>> (file:///) method of accessing the local repository.
>>
>
> If you're currently using Apache for your human users (as opposed to
> the CI system you're writing), why take a step backwards in
> configurability and security by going to file:/// access?
>
> If you're sure this is the right thing to do (and I'm not convinced),
> The Manual provides information on supporting multiple access methods.
> http://svnbook.red-bean.com/en/1.4/svn.serverconfig.multimethod.html
>



-- 
Best Regards,

Rohan Joseph

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Remote access and continuous integration

Posted by Andy Levy <an...@gmail.com>.
On Thu, Jul 10, 2008 at 18:59, Kevin Grover <ke...@kevingrover.net> wrote:
> On Thu, Jul 10, 2008 at 3:42 PM, Mark K <ma...@mitsein.net> wrote:
>>
>> On Thu, 10 Jul 2008 17:52:23 -0400
>> "Andy Levy" <an...@gmail.com> wrote:
>>
>> > On Thu, Jul 10, 2008 at 17:08, rjk1408 <ro...@gmail.com> wrote:
>> > >
>> > > Hi all,
>> > >
>> > >        I have been looking through posts for answers to my
>> > > questions - found many similar threads, but nothing yet that is
>> > > nearly exact. My apologies for any repetition.
>> > >
>> > > 1. I have a svn repository setup on a server that resides locally
>> > > where I work. This repository is currently being accessed through
>> > > Apache.
>> > >
>> > > 2.I am developing a continuous integration system, whereby, the
>> > > entire process of merging and committing work to the repository
>> > > will be automated (tests need to be performed on a persons code
>> > > before it can be checked in etc.)
>> > >
>> > > 3. I wish to have a program running on a remote server (possibly a
>> > > daemon process), 1000 miles away, that will, at 11 pm every night,
>> > > checkout the trunk of the repository I mentioned in step 1.
>> > >
>> > > Question: How do I configure my repository such that
>> > >
>> > > a. The daemon process on the remote server reads and writes from my
>> > > repository through the http protocol through apache AND
>> > >
>> > > b. The developers working along with me, move to the file-system
>> > > access (file:///) method of accessing the local repository.
>> > >
>> >
>> > If you're currently using Apache for your human users (as opposed to
>> > the CI system you're writing), why take a step backwards in
>> > configurability and security by going to file:/// access?
>> >
>> > If you're sure this is the right thing to do (and I'm not convinced),
>> > The Manual provides information on supporting multiple access methods.
>> > http://svnbook.red-bean.com/en/1.4/svn.serverconfig.multimethod.html
>> >
>>
>> How is file:// access less secure or configureable than svn. svn+ssh,
>> or http type access?
>
> svn:// and http:// are both servers.  There is a single process that manages
> all access to the repository.  This simplifies file permissions and
> potential conflicts (the svn client library does manage several people
> trying to commit at the same time, simultaneous read access is not a
> problem).  Mostly though, it  allows it to set user and passwords.  In
> file:// if you can write to the repository, you have access to commit to
> it.  If you can read access you can read.  There is not control of which
> users can read or commit (except for file/dir access permissions).
>
> If course, since you can write to the repository, you could cd in there and
> delete or manually edit files also, intentially or by accident, thus hosing
> individual revisions, or the entire repo.  With svn:// and http:// the user
> (or his processes) never access the actual repo.  With file:// the users
> client IS the server.

The "the client is the server" concept can also cause issues with hook
scripts. With a real server, hooks run on the server. With file://,
they run on the committer's workstation.

Re: Remote access and continuous integration

Posted by Kevin Grover <ke...@kevingrover.net>.
On Thu, Jul 10, 2008 at 3:42 PM, Mark K <ma...@mitsein.net> wrote:

> On Thu, 10 Jul 2008 17:52:23 -0400
> "Andy Levy" <an...@gmail.com> wrote:
>
> > On Thu, Jul 10, 2008 at 17:08, rjk1408 <ro...@gmail.com> wrote:
> > >
> > > Hi all,
> > >
> > >        I have been looking through posts for answers to my
> > > questions - found many similar threads, but nothing yet that is
> > > nearly exact. My apologies for any repetition.
> > >
> > > 1. I have a svn repository setup on a server that resides locally
> > > where I work. This repository is currently being accessed through
> > > Apache.
> > >
> > > 2.I am developing a continuous integration system, whereby, the
> > > entire process of merging and committing work to the repository
> > > will be automated (tests need to be performed on a persons code
> > > before it can be checked in etc.)
> > >
> > > 3. I wish to have a program running on a remote server (possibly a
> > > daemon process), 1000 miles away, that will, at 11 pm every night,
> > > checkout the trunk of the repository I mentioned in step 1.
> > >
> > > Question: How do I configure my repository such that
> > >
> > > a. The daemon process on the remote server reads and writes from my
> > > repository through the http protocol through apache AND
> > >
> > > b. The developers working along with me, move to the file-system
> > > access (file:///) method of accessing the local repository.
> > >
> >
> > If you're currently using Apache for your human users (as opposed to
> > the CI system you're writing), why take a step backwards in
> > configurability and security by going to file:/// access?
> >
> > If you're sure this is the right thing to do (and I'm not convinced),
> > The Manual provides information on supporting multiple access methods.
> > http://svnbook.red-bean.com/en/1.4/svn.serverconfig.multimethod.html
> >
>
> How is file:// access less secure or configureable than svn. svn+ssh,
> or http type access?
>

svn:// and http:// are both servers.  There is a single process that manages
all access to the repository.  This simplifies file permissions and
potential conflicts (the svn client library does manage several people
trying to commit at the same time, simultaneous read access is not a
problem).  Mostly though, it  allows it to set user and passwords.  In
file:// if you can write to the repository, you have access to commit to
it.  If you can read access you can read.  There is not control of which
users can read or commit (except for file/dir access permissions).

If course, since you can write to the repository, you could cd in there and
delete or manually edit files also, intentially or by accident, thus hosing
individual revisions, or the entire repo.  With svn:// and http:// the user
(or his processes) never access the actual repo.  With file:// the users
client IS the server.

in svn:// and http:// you can use any svn library version you want and the
users can use whatever client versions they want.  Upon connection, they
negotiate functionallity.  If you use file://, then it's possible for your
client (acting as a server) to silently upgrade the repository.  That's fine
if it's only you accessing the repo.  However, if your co-worker has NOT
upgraded to the same svn client, then tey can no longer access it.

There's problably several other things that I can't think of off the top of
my head.

- Kevin

Re: Remote access and continuous integration

Posted by Mark K <ma...@mitsein.net>.
On Thu, 10 Jul 2008 17:52:23 -0400
"Andy Levy" <an...@gmail.com> wrote:

> On Thu, Jul 10, 2008 at 17:08, rjk1408 <ro...@gmail.com> wrote:
> >
> > Hi all,
> >
> >        I have been looking through posts for answers to my
> > questions - found many similar threads, but nothing yet that is
> > nearly exact. My apologies for any repetition.
> >
> > 1. I have a svn repository setup on a server that resides locally
> > where I work. This repository is currently being accessed through
> > Apache.
> >
> > 2.I am developing a continuous integration system, whereby, the
> > entire process of merging and committing work to the repository
> > will be automated (tests need to be performed on a persons code
> > before it can be checked in etc.)
> >
> > 3. I wish to have a program running on a remote server (possibly a
> > daemon process), 1000 miles away, that will, at 11 pm every night,
> > checkout the trunk of the repository I mentioned in step 1.
> >
> > Question: How do I configure my repository such that
> >
> > a. The daemon process on the remote server reads and writes from my
> > repository through the http protocol through apache AND
> >
> > b. The developers working along with me, move to the file-system
> > access (file:///) method of accessing the local repository.
> >
> 
> If you're currently using Apache for your human users (as opposed to
> the CI system you're writing), why take a step backwards in
> configurability and security by going to file:/// access?
> 
> If you're sure this is the right thing to do (and I'm not convinced),
> The Manual provides information on supporting multiple access methods.
> http://svnbook.red-bean.com/en/1.4/svn.serverconfig.multimethod.html
> 

How is file:// access less secure or configureable than svn. svn+ssh,
or http type access?

-- 
Mark K

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Remote access and continuous integration

Posted by Andy Levy <an...@gmail.com>.
On Thu, Jul 10, 2008 at 17:08, rjk1408 <ro...@gmail.com> wrote:
>
> Hi all,
>
>        I have been looking through posts for answers to my questions -
> found many similar threads, but nothing yet that is nearly exact. My
> apologies for any repetition.
>
> 1. I have a svn repository setup on a server that resides locally where I
> work. This repository is currently being accessed through Apache.
>
> 2.I am developing a continuous integration system, whereby, the entire
> process of merging and committing work to the repository will be automated
> (tests need to be performed on a persons code before it can be checked in
> etc.)
>
> 3. I wish to have a program running on a remote server (possibly a daemon
> process), 1000 miles away, that will, at 11 pm every night, checkout the
> trunk of the repository I mentioned in step 1.
>
> Question: How do I configure my repository such that
>
> a. The daemon process on the remote server reads and writes from my
> repository through the http protocol through apache AND
>
> b. The developers working along with me, move to the file-system access
> (file:///) method of accessing the local repository.
>

If you're currently using Apache for your human users (as opposed to
the CI system you're writing), why take a step backwards in
configurability and security by going to file:/// access?

If you're sure this is the right thing to do (and I'm not convinced),
The Manual provides information on supporting multiple access methods.
http://svnbook.red-bean.com/en/1.4/svn.serverconfig.multimethod.html

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org