Saya ingin tahu apakah ada cara mudah untuk mendorong repositori GIT ke dalam produksi (pada server FTP)? Terima kasih
130
Beberapa alat baru-baru ini ditambahkan ke wiki Git :
git-ftp oleh René Moser adalah skrip shell sederhana untuk melakukan FTP dengan cara Git. Gunakan git-ftp.sh untuk hanya mengunggah file yang dilacak Git ke server FTP, yang telah berubah sejak unggahan terakhir. Ini menghemat waktu dan bandwidth. Bahkan jika Anda bermain dengan cabang yang berbeda, git-ftp.sh tahu file mana yang berbeda. Tidak ada klien FTP biasa yang bisa melakukannya.
git-ftp oleh Edward Z. Yang adalah skrip sederhana yang ditulis dengan python untuk mengunggah file dalam repositori Git melalui FTP, hanya mentransfer file baru dan menghapus file lama.
Jika Anda lebih suka GUI, gunakan SourceTree, Anda dapat dengan mudah mengatur Tindakan Kustom yang menggunakan git-ftp yang disebutkan di atas. Deskripsi singkat tentang pengaturan (untuk Mac) di repositori Push a Git ke FTP
sumber
Saya telah menemukan PHPloy alat yang hebat untuk mengirim komit Git Anda ke server jauh melalui FTP. Ini bekerja dari baris perintah dan ditulis dalam PHP (dan bahkan mendeteksi perubahan dalam submodul).
https://github.com/banago/PHPloy
Selesai!
(Penafian: setelah menggunakannya untuk sementara waktu, sekarang saya menyumbang beberapa tambalan dan perbaikan kode, menjadikannya kompatibel dengan Windows.)
sumber
Jika Anda menggunakan mac dan Transmit, saya akan merekomendasikan skrip git-tranmit berikut ( https://gist.github.com/379750 ). Ia menggunakan DockSend untuk mengirim hanya file yang terakhir diperbarui. Jika Anda tidak terbiasa dengan DockSend, periksa http://www.panic.com/blog/2010/11/15-secrets-of-transmit/ .
Mempersiapkan:
sumber
Sebenarnya bukan itu tujuan git, sebenarnya. Namun, jika sumber Anda adalah sesuatu yang tidak perlu dikompilasi atau diproses, katakanlah sebuah situs web yang seluruhnya terdiri dari file html dan javascript dan sejenisnya, Anda bisa memiliki klon repo di server web Anda dan menggunakan
git pull
dari server untuk mempertahankannya -saat ini. Catatan, saya akan mengkonfigurasi server web Anda untuk menyembunyikan direktori git dan semacamnya. Dan itu baru permulaan dari masalah keamanan.Jika Anda memiliki segala macam kompilasi atau pemrosesan, Anda harus mulai melihat Ant , Maven , BuildR , SBT , dll.
sumber
Anda bisa menggunakan Deployhq.com berfungsi seperti pesona, satu-satunya hal yang perlu Anda lakukan adalah mengatur repositori dan akun FTP Anda.
Mereka saat ini memiliki sistem kontrol versi berikut:
Git, Subversi, Mercurial.
Dengan repositori yang dihosting
sumber
Ini adalah skrip dalam PHP untuk mengunggah hampir secara otomatis git-diff ke server FTP:
http://code.google.com/p/upload-git-diff-with-ftp/
sumber
https://www.deployhq.com/
Gratis untuk satu proyek dan bekerja sangat baik.
sumber
Ada skrip Ruby di sini - Ruby git-deploy via FTP atau SSH yang hanya mengunggah file yang diubah dalam repo git melalui FTP atau SSH.
Seperti disebutkan dalam jawaban lain, ini adalah skrip Python git-ftp.py yang melakukan hal serupa.
Dan ini adalah versi skrip shell dari git-ftp .
Ada juga proyek permata Ruby yang disebut git-deploy yang memungkinkan Anda mengatur penyebaran kustom melalui remote git menggunakan
git push
perintah, dengan cara yang sama seperti layanan Heroku dan Azure. Untuk yang ini, Anda mungkin perlu menulis metode khusus untuk digunakan melalui FTP dan saya pikir itu mengasumsikan Anda memiliki akses SSH ke server produksi Anda.sumber
Jika Anda memasukkan kode ke dalam produksi, saya sarankan menggunakan "pemasang" seperti paket RPM untuk menginstal kode Anda. Dengan cara itu akan dicap versi dan Anda akan dapat memanfaatkan paket installer untuk mendukung pembaruan ke kode produksi. Git tidak benar-benar dirancang untuk mendukung instalasi produksi, ini dimaksudkan untuk melacak perubahan pada kode itu sendiri.
Dalam keadaan apa pun, dengan .RPM (atau EXE atau apa pun) yang dibangun, Anda bisa langsung meng-FTP-nya ke sistem produksi dan menginstalnya seperti paket lainnya.
sumber
Tambahkan sebagai remote, maka Anda dapat mendorongnya, namun hanya mendorong kode tidak cukup, perlu digabung dengan pohon kerja. Cara termudah adalah dengan cara sebaliknya, memiliki pohon yang berfungsi di server dan mengambil dan bergabung ke dalamnya.
sumber
Anda selalu dapat mencoba me-mount ftp ke direktori lokal menggunakan http://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem .
Maka Anda dapat menggunakannya dengan cara yang sama seperti ini .
sumber
Saya banyak berjuang untuk mencari tahu ini. Saya telah menemukan cara mudah untuk menyelesaikan ini dari berbagai sumber ( git-ftpINSTALL , git-ftpUPLOAD , git-ftpIssue , git-ftpPUSH ). Anda dapat membaca untuk referensi tetapi tidak perlu karena saya telah menyebutkan proses langkah demi langkah di bawah ini.
Hal pertama yang pertama: Instal git dan curl menggunakan brew di MAC OS
Jalankan perintah berikut:
Memperbarui menggunakan git
Mempersiapkan
Unggah semua file
Atau jika file sudah ada di sana
Bekerja dan gunakan
Jika ada kesalahan: pathspec 'index.txt' tidak cocok dengan file apa pun yang dikenal git . Ini berarti file belum dipentaskan, jadi tambahkan file dan coba komit.
Semoga ini membantu.
sumber
Anda dapat mencoba FTPloy ...
https://ftploy.com
Anda memiliki satu proyek gratis untuk mencobanya. Saat ini saya menggunakan untuk situs web php kecil dan berfungsi dengan baik. Beberapa bug di situs tetapi merupakan proyek aktif sehingga setidaknya mereka bekerja di sana.
sumber
Lihat https://gitftp-deploy.com/ jika Anda menggunakan MacOS dan Anda suka GUI.
Ini adalah aplikasi kecil yang bagus yang menggunakan Git untuk melacak perubahan dan hanya mengunggah file yang diubah dengan FTP.
Sangat berguna jika Anda tidak suka membayar biaya bulanan untuk puluhan proyek kecil dengan tim kecil.
sumber