Drupal、Drush&SVN

このプロジェクトでは、バージョン管理にsvnを使用します。 しかし、判明したように、彼と友達を作るのは簡単ではありません。

ブラシを発見するまで、カーネルを更新してモジュールを使用するために多くの身体の動きを費やさなければなりませんでした。

Drush-drupal shell-コマンドラインからdrupalを管理するためのツール。

プロジェクトページ: http : //drupal.org/project/drush

その機能には、カーネルとモジュールのロード/更新、バージョン管理システム、特にsvnとの統合があります。



以下では、drupalコンポーネントを更新し、これらの更新をsvnリポジトリに転送するためにdrushを使用する方法の簡単な例を示します。



それでは始めましょう。



リポジトリから空のプロジェクトをダウンロードする



svnリポジトリから、フォルダー/ home / user / workspace / drupalにあるまだ空のプロジェクトをダウンロードします。



[user@drush ~]$cd /home/user/workspace/

[user@drush workspace]$ svn checkout xxx/bully/drush drupal --username=xxx --password=xxx








フォルダー構造の準備



ロード時に、drushはdrupalのコアをdrupal-x.xxという名前のフォルダーに配置します。x.xxはdrupalのバージョンです。便宜上、将来フォルダーwwwを作成します。プロジェクトのコードを保存し、更新時に使用します。シンボリックリンクは彼女ではありません。



[user@drush workspace]$ cd drupal

[user@drush drupal]$ md www

[user@drush drupal]$ ls -l

total 4

drwxr-xr-x 2 user user 4096 2010-04-17 17:30 www/








作成したフォルダをリポジトリに追加します-これは将来の正しい作業に必要です。



[user@drush drupal]$ svn add www







カーネルの読み込み



たとえば、カーネルバージョン6.14の操作を始めましょう。drupalフォルダー内のwwwフォルダーにdrupal-6.14シンボリックリンクを作成しましょう。



[user@drush drupal]$ ln -s www drupal-6.14

[user@drush drupal]$ ls -l

total 4

lrwxrwxrwx 1 user user 3 2010-04-17 17:33 drupal-6.14 -> www/

drwxr-xr-x 2 user user 4096 2010-04-17 17:30 www/








作成したシンボリックリンクをsvnリポジトリに追加します。



[user@drush drupal]$ svn add drupal-6.14







カーネルのロード:



[user@drush drupal]$ drush dl drupal-6.14 --svnsync

Project drupal (6.14) downloaded to /home/user/workspace/drupal/drupal-6.14/. [success]

You should consider committing the new code to your Subversion repository.

If this version becomes undesireable, use Subversion to roll back.








dlコマンドは、カーネルまたはモジュールをロードするように設計されています。

--svnsyncパラメーターは、svnリポジトリーの変更に関する情報を自動的に更新するように設計されています。



読み込み方法と読み込み内容を確認します。



[user@drush drupal]$ ls -l

total 4

lrwxrwxrwx 1 user user 3 2010-04-17 20:33 drupal-6.14 -> www/

drwxr-xr-x 10 user user 4096 2009-09-16 23:40 www/



[user@drush drupal]$ cd www

[user@drush www]$ ls -l

total 224

-rw-r--r-- 1 user user 43058 2009-09-16 23:34 CHANGELOG.txt

-rw-r--r-- 1 user user 988 2009-09-14 16:50 COPYRIGHT.txt

-rw-r--r-- 1 user user 262 2006-08-09 11:42 cron.php

drwxr-xr-x 3 user user 4096 2010-04-17 20:35 includes/

-rw-r--r-- 1 user user 980 2007-12-26 11:46 index.php

-rw-r--r-- 1 user user 1308 2007-11-19 22:53 INSTALL.mysql.txt

-rw-r--r-- 1 user user 1075 2007-11-26 19:36 INSTALL.pgsql.txt

-rw-r--r-- 1 user user 46926 2009-04-27 14:50 install.php

-rw-r--r-- 1 user user 15646 2008-07-09 23:15 INSTALL.txt

-rw-r--r-- 1 user user 18048 2009-01-06 20:27 LICENSE.txt

-rw-r--r-- 1 user user 1924 2009-04-29 21:15 MAINTAINERS.txt

drwxr-xr-x 4 user user 4096 2010-04-17 20:35 misc/

drwxr-xr-x 36 user user 4096 2010-04-17 20:35 modules/

drwxr-xr-x 4 user user 4096 2010-04-17 20:35 profiles/

-rw-r--r-- 1 user user 1590 2008-12-10 23:12 robots.txt

drwxr-xr-x 3 user user 4096 2010-04-17 20:35 scripts/

drwxr-xr-x 5 user user 4096 2010-04-17 20:35 sites/

drwxr-xr-x 8 user user 4096 2010-04-17 20:35 themes/

-rw-r--r-- 1 user user 25457 2009-03-30 15:15 update.php

-rw-r--r-- 1 user user 5002 2008-01-04 19:15 UPGRADE.txt

-rw-r--r-- 1 user user 352 2005-12-10 22:26 xmlrpc.php

[user@drush www]$








必要なものとそのロード方法がすべてロードされていることがわかります。 svnリポジトリの情報を確認します。



[user@drush www]$ cd ..

[user@drush drupal]$ svn status

A www

A www/profiles

A www/profiles/default

A www/profiles/default/default.profile

A www/INSTALL.txt

A www/themes

...

A www/modules/user/user-profile-item.tpl.php

A www/modules/user/user.admin.inc

A www/update.php

A www/INSTALL.pgsql.txt

A www/.htaccess

A drupal-6.14

[user@drush drupal]$








ここですべてが整然としています。



モジュールのロード



モジュールをロードするには、モジュールフォルダーを作成してリポジトリに追加します。これは将来の正しい作業に必要です。



[user@drush all]$ cd /home/user/workspace/drupal/www/sites/all

[user@drush all]$ md modules

[user@drush all]$ svn add modules








必要なモジュールを実際にロードする:



[user@drush all]$ drush dl views cck context --svnsync

Project views (6.x-2.10) downloaded to [success]

/home/user/workspace/drupal/www/sites/all/modules/views.

You should consider committing the new code to your Subversion repository.

If this version becomes undesireable, use Subversion to roll back.

Project cck (6.x-2.6) downloaded to /home/user/workspace/drupal/www/sites/all/modules/cck. [success]

You should consider committing the new code to your Subversion repository.

If this version becomes undesireable, use Subversion to roll back.

Project context (6.x-2.0-beta7) downloaded to [success]

/home/user/workspace/drupal/www/sites/all/modules/context.

You should consider committing the new code to your Subversion repository.

If this version becomes undesireable, use Subversion to roll back.








ご覧のとおり、モジュールがロードされ、svnリポジトリの情報が更新されました。 美人!



カーネルの更新



バージョン6.14以降、大量の水が漏れ、多くのバグが見つかったため、6.16にアップグレードする時が来ました。

リポジトリへの前の例のコミットを省略し、すぐに最も興味深いものに移ります。

wwwフォルダーの場合、drupalフォルダー内にdrlink-6.16シンボリックリンクを作成します。



[user@drush www]$ cd /home/user/workspace/drupal/

[user@drush drupal]$ ln -s www drupal-6.16

[user@drush drupal]$ svn add drupal-6.16








カーネルの最新バージョン(この記事の執筆時点)をダウンロードします。



[user@drush drupal]$ drush dl drupal-6.16 --svnsync

Project drupal (6.16) downloaded to /home/user/workspace/drupal/drupal-6.16/. [success]

You should consider committing the new code to your Subversion repository.

If this version becomes undesireable, use Subversion to roll back.








以上です!



結論の代わりに



Drushは、管理者と開発者にとって不可欠なツールであり、プロジェクトランドスケープ全体でサイトを迅速かつ便利に管理できます。



All Articles