[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: exporting to production - automation

From: Mark D. Baushke
Subject: Re: exporting to production - automation
Date: Tue, 05 Oct 2004 08:48:12 -0700

Hash: SHA1

address@hidden writes:

> In the book Essential CVS they list a cron script for exporting
> (distributing) code and then make mention of how you could automate
> the distribution process using the loginfo admin file. Question is,
> how could a developer drive a CVS promotion to production if
> production security is set to prevent writes outside a CVS process. In
> the below example the user must have write access to /ftp/internal
> right? 

You could have the cvs commit send a message to a special user or queue
that is the sole 'owner' of the /ftp/internal directory to do the job.

For example, we have loginfo send e-mail to an automated build setup to
cause a new tree to be checked out and built as the result of a commit.
The e-mails may be queued if there are many of them that are waiting for
the build to complete, but it works very well for our purposes to ensure
that production branches always remain buildable.

You could implement something similar to populate your /ftp/internal

> What's to stop them from overlaying file there manually after
> the export?

Nothing would stop them if they have access to the filesystem.

> <snip from book>
> cd /ftp/internal
> /bin/rm -r wizzard
> /usr/bin/cvs export -D now wizzard
> if [ $? -eq 0 ]; then
>       cd wizzard
>       /usr/bin/make install
> else
>         /bin/cat "Export failed with return code $?" | /usr/bin/mail
> wizmanager -s \
> fi
> You can also run a script similar to the one in Example 7-5 to export
> your project whenever a file has been changed, using the loginfo
> administrative file or the -i option in the modules file. These files
> are explained in the following section.
> </snip from book>
> Thanks for any help - I'm stuck.

        Good luck,
        -- Mark
Version: GnuPG v1.2.3 (FreeBSD)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]