0

私は自分の Django プロジェクトを非常に移植しやすく、簡単に開始/停止できるようにしようとしています。Python の仮想環境と pip 要件ファイルを使用して、python のバージョンと pip パッケージを管理しています。私が常に疑問に思っていることの 1 つは、データベース間でテスト データを移行することです。私は利用しています:

python manage.py dumpdata > fixtures/data.json

現在のテストデータをファイルにダンプし、次の開発者が次の環境を使用して開始するときにこのテストデータをプルするようにします。

python manage.py loaddata fixtures/data.txt

したがって、全体的な目標は、次のことを行う単純な gulp コマンドを作成することです。

最新の git コミットをプルし、仮想環境を開始し、テスト データをデータベースにマージし、サーバーを開始します。

gulp で仮想環境を起動できませんでしたが、これを自動化する方法が他にあれば教えてください。

4

1 に答える 1

1

gulp-shellgulpでシステムコマンドを実行するために使用できます

gulp-shellnpm でインストール:

$ npm install --save-dev gulp gulp shell

参考までに、サンプルのgulpfile.jsを次に示します。

var gulp = require('gulp'),
    shell = require('gulp-shell');


gulp.task('default', shell.task([
    'git pull origin master',          // pull the latest data from remote repo
    'source $virtualenv/bin/activate; python manage.py dumpdata --database test > fixtures/data.json',   // activate the python virtual env, dump the data from test database
    'source $virtualenv/bin/activate; python manage.py loaddata fixtures/data.json'   // activate the python virtual env, load the data into production database
]));

gulp のデフォルト タスクを実行する

$ gulp
于 2016-12-27T01:30:06.237 に答える