移行を実行する前に、すべてのテーブルを削除しないでください。
このエラーはmigrations
テーブルからのもので、migrations
のdatabase\migrations
フォルダに矛盾があります。
戻る前にこの競合を解決して、Jenkinsの設定を続行する必要があります。
私の提案:
あなたはあなたのプロジェクトのコントロールリリースバージョン用にRocketeerを使用する必要があります。
.env
ファイルをshared
というフォルダで共有できます。
デフォルトでは、Rocketeerの設定でcomposer install
とnpm install
を実行できます。
インストールロケッティア:
$ wget http://rocketeer.autopergamene.eu/versions/rocketeer.phar
$ chmod +x rocketeer.phar
$ mv rocketeer.phar /usr/local/bin/rocketeer
//TODO Install PHP for Jenkins server
$ sudo apt-get install php
//TODO Check rocketeer
$ rocketeer check
No connections have been set, please create one: (production) <~ Succeed
セットアップリモートサーバー情報
$ cd /var/lib/jenkins/drone-deploy/drone-deploy/server-dev
$ rocketeer ignite
No connections have been set, please create one: (production)develop
No host is set for [develop], please provide one:35.166.x.x
No username is set for [develop], please provide one:ec2-user
No password or SSH key is set for [develop], which would you use? (key) [key/password]key
Please enter the full path to your key (/var/lib/jenkins/.ssh/id_rs/var/lib/jenkins/.ssh/xxx.pem
If a keyphrase is required, provide it
No repository is set for [repository], please provide one:[email protected]:xx/xxxxxx.git
No username is set for [repository], please provide one:xxx
No password is set for [repository], please provide one:
develop/0 | Ignite (Creates Rocketeer's configuration)
What is your application's name ? (drone-php)drone_deploy
The Rocketeer configuration was created at server-dev/.rocketeer
設定
$ cd /var/lib/jenkins/drone-deploy/drone-deploy/drone-php
$ nano .rocketeer/config.php
Replace connections name production --> develop //It's Rocketeer bug
$ nano .rocketeer/remote.php
'root_directory' => '/var/www/html/',
'shared' => [
'storage/logs',
'storage/framework/sessions',
'.env',
],
'permissions' => [
// The folders and files to set as web writable
'files' => [
//'app/database/production.sqlite',
'bootstrap',
'storage',
'public',
],
// Here you can configure what actions will be executed to set
// permissions on the folder above. The Closure can return
// a single command as a string or an array of commands
'callback' => function ($task, $file) {
return [
sprintf('chmod -R 777 %s', $file),
sprintf('chmod -R g+s %s', $file),
sprintf('chown -R ec2-user:ec2-user %s', $file),
];
},
],
$ nano .rocketeer/strategies.php
//'test' => 'Phpunit',
'test' => '',
//return $composer->install([], ['--no-interaction' => null, '--no-dev' => null, '--prefer-dist' => null]);
return $composer->install([]);
TEを実行している。ここ
は私の手順は、インストールと設定ロケッティアですST
rocketeer deploy --on="develop" --tests
移行が失敗した場合は、通常は、このメッセージが表示されます、あなたは再度移行するデータベースにしてみてください。 –
@RossWilson、あなたは正しいようです。このような状況を回避するために移行が失敗した場合、どのように処理を進めるのですか? –
通常、ローカルの/ dev環境でこれらのエラーを実行し、問題が本番環境に移行する前に修正します。あなたのdev envで発生すると、手動ですべてのテーブルを削除するか、移行テーブルにないテーブルが存在するかどうかを確認し、そのテーブルを削除してからロールバックして移行することができます。 –