Jawabannya adalah mereka tentu tidak berlebihan.
Memang benar bahwa seseorang dapat mencapai hasil akhir yang sama menggunakan skrip bash yang mencakup perintah drush (setidaknya bagian bangunan). Tetapi, jika yang ingin kita lakukan adalah mengintegrasikan proses kita ke dalam kerangka CI seperti JenkinsCI, maka menggunakan sesuatu seperti phing (semut atau capistrano dapat diganti di sini) adalah cara yang harus ditempuh.
Dengan phing, kita dapat memecah proses pembuatan menjadi segmen berbeda yang dapat melaporkan kembali ke Jenkins dengan cara yang cerdas.
Jadi misalnya. Katakanlah sebagai bagian dari proses build saya, saya menggunakan drush untuk mengaktifkan dua modul, node dan shouldfail. Maka membangun harus gagal. Tetapi jika semua yang kita lakukan adalah memberi tahu JenkinsCI untuk menjalankan perintah shell berikut, JenkinsCI akan mengatakan bahwa build LULUS:
drush --quiet --yes @staging en node shouldfail
Jelas itu tidak benar. Namun jika sebaliknya kita menggunakan semut atau phing untuk mendefinisikan proses yang sama, kita juga dapat menambahkan beberapa logika gagal yang dipahami Jenkins, dan karenanya gagal sebagaimana mestinya. Skrip pembuatan phing berikut mencoba melakukan hal yang sama dengan perintah sebelumnya, tetapi gagal seperti yang kami harapkan:
<project name="staging" default="enable modules" description="Jenkins Staging Build">
<target name="enable modules">
<exec command="drush --quiet --yes @staging en node shouldfail" error='error' checkreturn="true">
</exec>
<loadfile property="en.error" file="error" />
<if>
<contains string="${en.error}" substring="warning" />
<then>
<property name="en.fail" value="Could not enable all modules" />
</then>
</if>
<fail if="en.fail" message="${en.fail}" />
</target>
</project>
Semut dan phing BTW hampir identik. Keuntungan bagi pengembang PHP dalam menggunakan phing adalah mereka dapat memperpanjang phing dengan lebih nyaman.
Adapun pengembangan Drupal dan drush menjadi sebagus itu, saya tidak melihat terlalu banyak nilai dalam memperluas phing, dan berpikir bahwa menjalankan tugas exec akan cukup untuk membuat template build yang cerdas.
Nah, untuk menjawab pertanyaan saya, saya akhirnya menginvestasikan waktu untuk mencari tahu phing. Ini sebenarnya cukup intuitif dan tidak butuh waktu lama untuk mencari tahu.