How can I safely publish a site assembly?

So, in your experience, which is best? Is there a safe way that can also be used for scripting / running in the build automation tool?

Edit: I have to mention that it is windows / .net and I will deploy iis6

+6
windows deployment iis-6
source share
8 answers

For some projects, I use Capistrano to bring it live. It is built on top of rubies and makes script deployment super easy and uses ssh.

In other projects, I have a tiny deployment application that uses bash to export svn to a temporary directory, and then rsync it to a live server. You can force rsync to use ssh.

I really prefer the Capistrano method, even if your project is not in ruby ​​/ rails.

+6
source share

This is similar to what can be easily done using SFTP. Take a look at PuTTY (psftp and pscp) or WinSCP for Windows or rsync and OpenSSH for Unixes.

+4
source share

Make a real-time copy of your directory, use rsync to update this copy with your latest version, then rename the live and updated directories so that the updated version is now live.

In bash:

#!/bin/bash set -e cp -R /var/livesite /var/newversion rsync user@devserver :/var/readytogolive /var/newversion mv /var/livesite /var/oldlivesite mv /var/newversion /var/livesite 

Viola!

Edit: @Ted Percival - This is a good idea. I did not even know about set -e. Updated script. Edit: updated again at Ted's prompt (although I think it will still work if somehow the cp command failed, and if cp fails, you are likely to have more serious problems.)

+1
source share

@ Wrong, I will add set -e to the second line because you do not want to replace the live site if rsync crashes for any reason. set -e causes the script to exit if any of its commands do not work.

Edit: set -e should be the first in the script, right after #!/bin/bash .

+1
source share

I will make a recommendation to Capistrano , although if you are looking for a GUI based solution, you can try Webistrano front end. Clean, ssh-based, smart deployment and rollback semantics, as well as simple scripts and extensibility with ruby.

+1
source share

You can always write a small client / server application that encrypts the source code, pops the files, and then decrypts them at the destination. This is a bit of work, but probably a trivial amount. And it is scriptable if your automation tool supports the execution of something on the file system (which, I think, does all this).

The only drawback is that you won’t be able to get meaningful error messages when it crashes in your integration environment without doing more work on your part (although depending on your installation this might be as simple as sending error messages to stdout) .

0
source share

hm, here we use the "server" for testing in a live environment (in fact, its virtual host apache on the working server) and araxis merge (a truly intelligent step-by-step file comparison tool) for synchronizing development and production.

after testing it, simply; replace the files on the production website :)

/ tr

0
source share

In the freelance work that I did, we created three separate slices.

  • The Dev server that is running continues to build using CruiseControl. Any registration will initiate assembly. QA testing has been conducted.
  • Test server, this user test has been performed.
  • Production.

The workflow was as follows:

  • The developer checks for changes in the SourceControl.
  • CruiseControl creates and deploys the assembly in Dev.
  • Dev is QA'ed
  • After passing QA, a robocopy script is launched that deploys the Dev construct for testing.
  • UAT'ed test
  • After passing the test, a robocopy script is launched that deploys Test to PRD.
0
source share

All Articles