Dosyaları bir üretim sunucusuna hainlere kullanarak canlı yapmak için en iyi yolu nedir?

7 Cevap php

Şu anda Eclipse PDT değişiklik yaptığınızda, ben değişiklikleri taahhüt böylece ben yıkılma kurdunuz ve onlar / home / yöneticisi / Project File kaydedilir. Bu dosya tahrip tarafından önerilen / şube / etiketleri ve / gövde dizinleri vardır. Ben düzgün depo dosya yükleme sorunum yok, ama ben edersiniz "mv" / var / www Linux dosyalar bunları sunucu üzerinde yaşatmak amacıyla? Eksik bunu otomatik bir işlem var mı? Sanırım depo (makinede canlı) / var / www dizini yapmak istemiyorum varsayarak yaşıyorum, ama ben bilmiyorum.

7 Cevap

Sen www dizine bir svn export yapabilirsiniz. İşte. Svn dizinleri olmadan, size repo "temiz" versiyonu vereceğim.

cd /var/www
svn export /home/administrator/MyProject/trunk MyProject


Edit: yorumlarından bazı iyi fikirler ekleyerek ...

Eğer ihraç kopyasını güncelleştirmek istediğiniz zaman için bazı seçenekler:

  • run svn export --force /home/...../ MyProject bu mevcut dosyaların üzerine yazılmasını şikayet onu durdurur. Bu yöntem, depodan bir dosyayı silerseniz, hala www klasöründe kalacağız anlamına gelecektir.
  • change your SVN command to export into a new directory each time:
    svn export /home/..../ MyProject_20081105
    and then create a symlink to that folder:
    ln -s MyProject_20081105 MyProject
    Just delete and recreate the symlink each time you "release". In this case, the export directory doesn't need to be in the www folder at all.

Sadece depo bir kopyasını / var / www klasörüne göz atın ve daha sonra gerekli her svn update üzerinde çalışan (veya yeni bir şube / tag, vb için geçiş) yapabilirsiniz. Böylece web sunucusu üzerinde bir değişiklik ve güncellemeleri yapmak yerel makinenizde teslim respository kopyasını ve başka kopyası var.

Bir SVN deposunu kullanmak da size de önceki sürümlere dönmek için yeteneği verir.

Ayrıca / var / www dizinine taahhüt tarafından değiştirilen tüm dosyaları taşır bir post-commit kanca yapabilirsiniz.

Burada ftp ile uzaktaki bir ana bilgisayara değiştirilen dosyaları yükler Python ile yazılmış bir örnek:

http://svn.haxx.se/dev/archive-2007-08/0287.shtml

Böylece bir "serbest bırakma" etiketi (örn / proje / etiket / release) tutmak - Muhtemelen herhangi bir zamanda üretim üzerinde ne dosyalarını hatırlamak isteyeceksiniz. Bir açıklaması yapmak istediğinizde, orada içine gövde kopyalayın. Sonra etiketi serbest olduğu ihracat svn.

Ya da bir şey.

Ben birçok kişi on here gördüm ve diğer forumlar dağıtım için Capistrano kullanarak, ama ben onunla herhangi bir kişisel deneyimi yok hakkında konuşmak.

Benim organizasyonda üretimde bir dev ortamında dosyaları taşımak için rsync kullanabilirsiniz.

Ben Michael katılıyorum. rsync kullanmak için bir araçtır.