Hal-hal apa yang penting untuk dipertimbangkan ketika mengelola situs menggunakan Drush make ?
Hal-hal apa yang penting untuk dipertimbangkan ketika mengelola situs menggunakan Drush make ?
Jawaban:
"Make files", dalam konteks Drush dan Drupal, tentukan satu set modul, tema, dan pustaka yang membentuk sebuah situs. Sementara seseorang dapat menempelkan seluruh direktori situs / semua / modul ke git, file make jauh lebih cepat untuk ditangani, baik untuk git dan pengembang. Di bawah ini adalah file make dari proyek saya yang sebenarnya. Saya telah memotong banyak karena seluruh file adalah ratusan baris, tetapi saya sudah cukup mempertahankan untuk menunjukkan semua fungsi yang saya gunakan.
; API
api = 2
; Core
core = 7.x
projects[drupal][version] = 7.14
; Contrib modules
projects[date][version] = 2.0-alpha4
projects[email][version] = 1.0
; Media and file_entity go hand in hand - please make sure they work together.
projects[media][version] = 2.0-unstable5
projects[file_entity][version] = 2.0-unstable5
; Cron modules
projects[ultimate_cron][version] = 1.6
projects[background_process][version] = 1.12
; Performance modules
projects[expire][version] = 1.0-alpha2
projects[cache_actions][version] = 2.0-alpha3
; Unstable modules
projects[menu_node_views][type] = module
projects[menu_node_views][download][type] = git
projects[menu_node_views][download][url] = http://git.drupal.org/project/menu_node_views.git
projects[menu_node_views][download][revision] = f46dd41eb8c4e693a6642a6c461afa57d99a6f1b
projects[filefield_sources_plupload][type] = module
projects[filefield_sources_plupload][download][type] = git
projects[filefield_sources_plupload][download][url] = http://git.drupal.org/project/filefield_sources_plupload.git
projects[filefield_sources_plupload][download][revision] = da374770b80fcbc0dab17158d38c8436ef29caca
projects[menu_token][type] = module
projects[menu_token][download][type] = git
projects[menu_token][download][url] = http://git.drupal.org/project/menu_token.git
projects[menu_token][download][revision] = 8c18fbb
; Libraries
libraries[mediaelement][download][type] = "file"
libraries[mediaelement][download][url] = "https://github.com/johndyer/mediaelement/zipball/2.7.0"
; Patches
; #1491150: node_load in menu_node_menu_link_insert is not safe - http://drupal.org/node/1491150
projects[menu_node][patch][] = http://drupal.org/files/menu_node-node_load-in-menu_node_menu_link_insert-1491150-1.patch
; Fix rendering of relation endpoints
projects[relation][patch][] = http://drupal.org/files/relation_table_endpoints_break.patch
projects[relation][patch][] = http://drupal.org/files/relation_bundle_permissions.patch
libraries[jquery-json-min][download][type] = "file"
libraries[jquery-json-min][download][url] = "http://jquery-json.googlecode.com/files/jquery.json-2.3.min.js"
libraries[jquery-json-min][download][sha1] = "2a4615b93c65dd50f92117c570121035a0327fee"
libraries[jquery-json-min][destination] = "libraries/jquery-json"
Baris api menentukan Drush yang membuat API untuk digunakan untuk sisa file. Satu hal penting yang perlu diperhatikan tentang file, adalah bahwa semua modul memiliki versi tertentu, atau arahkan ke komit git tertentu. Kami tidak pernah memiliki versi -dev di file kami. Saat kami muncul di rapat klien, atau menyerahkan file make ke server Jenkins , tidak boleh ada kejutan. Versi pasti yang termasuk dalam file harus diuji dan diharapkan lulus semua jenis tes. Ini penting untuk dapat mengirimkan sesuatu yang berkualitas tinggi.
Di perusahaan saya, kesepakatan umum adalah bahwa setiap tim menyediakan skrip shell yang disebut "build", di root repositori, yang bertanggung jawab untuk mengatur situs, sehingga pengujian otomatis dapat dijalankan oleh tim lintas yang sama Pengaturan CI.
Pembaruan modul dapat dilakukan dengan cepat langsung di situs untuk pengujian, tetapi secara resmi dengan memperbarui file make, dan membangun kembali situs.
Tim saya saat ini menggunakan kumpulan skrip build ini . Saya sedang berusaha untuk memindahkan sebagian besar fungsi menjadi ekstensi drush yang akan banyak menggunakan ketentuan. Aegir versi CLI jika Anda mau.