Praktik terbaik untuk mengelola penyebaran kode dari dev ke server produksi?


8

Saya berharap menemukan alat atau metode yang mudah, yang memungkinkan mengelola penyebaran kode kami.

Berikut adalah fitur-fitur yang saya harap solusi ini miliki:

  1. Entah file berbasis web atau batch, yang diberi daftar file, akan berkomunikasi dengan server produksi kami, untuk membuat cadangan file-file itu di folder yang berbeda, dan memasukkannya ke dalam folder kode cadangan.

  2. Kemudian ia mencatat nama, tanggal / waktu, dan tujuan penyebaran.

  3. Kemudian mengirimkan file ke tempat yang tepat di server produksi.

Saya tidak ingin antarmuka yang terlalu rumit untuk melakukan penyebaran karena mereka mungkin tidak akan pernah menggunakannya.

Atau apakah yang saya minta terlalu tidak realistis?

Saya hanya tahu bahwa disiplin diri saya tidak sempurna, dan saya lebih suka memiliki alat yang bisa saya andalkan untuk melakukan apa yang perlu dilakukan, kemudian ingatan saya sendiri tentang langkah-langkah tepat apa yang harus saya ambil setiap waktu.

Bagaimana kalian, memastikan semuanya bisa dikerahkan dengan benar, dan memiliki kemunduran mudah jika terjadi kesalahan?


Subversi dan kiriman komit pos? Minta server dengan copy pekerjaan, komit ke repo, minta kait komit posting untuk memperbarui copy pekerjaan server.
Vitor Py

Kami tidak menggunakan subversi, sesuatu yang disebut QVCS oleh Qumasoft.
crosenblum

Bisakah kalian menyarankan sesuatu yang tidak berdasarkan pada kami mengubah kontrol sumber apa yang kami gunakan?
crosenblum

Dengan Capistrano Anda dapat menulis driver QVCS Anda sendiri.
Htbaa

Dan saya aplogize, jika saya tidak membuat ini jelas, saya perlu solusi di os windows.
crosenblum

Jawaban:


2

Semua ini dapat dilakukan dengan file batch. Berikut ini adalah langkah-langkah dasar yang perlu terjadi dalam file batch:

  1. Dapatkan waktu tanggal saat ini dalam suatu variabel.
  2. Buat salinan direktori produksi ke dalam folder dengan waktu tanggal saat ini. Zip folder jika Anda mau.
  3. Replikasi folder dropping build ke direktori produksi. Anda juga dapat melewati beberapa file yang tidak ingin Anda timpa (seperti web.config). Baik xcopy dan robocopy memungkinkan melompati file.

Kecuali langkah pertama, dua langkah lainnya adalah operasi baris perintah yang sangat mendasar. Mengenai yang pertama, kode berikut menunjukkan cara mendapatkan direktori dengan waktu tanggal:

for /f "tokens=1-3 delims=/ " %%A in ("%DATE%") DO (
  set DATESTR=%%C%%A%%B
)

for /f "tokens=1-3 delims=:." %%F in ("%TIME%") DO (
  set TIMESTR=%%F%%G%%H
)

set CURRENTDT=%DATESTR%T%TIMESTR%

:: now you can use the date time in a folder name:
xcopy /e \\production1\site1 \\backup\site1\backup-%CURRENTDT%\

1

Kedengarannya seperti pekerjaan untuk Capistrano dengan plugin Railsless-Deploy .


Saya akan mengatakan Capistrano juga. Jika tidak ada yang lain, melihat apa yang ditawarkan Capistrano kepada Anda adalah cara yang bagus untuk mendapatkan ide tentang apa yang tersedia untuk Anda.
glenatron

Apakah Capistrano hanya untuk Linux?
crosenblum

Ruby berjalan di Windows, tetapi 1,5 tahun yang lalu saya tidak bisa menjalankannya di Windows. Jadi alih-alih saya mengunduh edisi VMWare Server gratis dan menginstal server virtual Ubuntu dan mengkonfigurasinya untuk Capistrano. Mungkin dukungan Windows telah membaik sekarang.
Htbaa

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.