gitを使用してdjangoアプリケーションをデプロイすることができるのであれば、その答えは確実です!
ただし、一般的なアプリケーションの実動展開は複雑になり、ファイルをロールバックするだけではありません。 DBスクリプト(アップグレードスクリプトとダウングレードスクリプトの両方)の実行、cronジョブの再起動、またはファイルの移動が必要な場合があります。
展開プロセスの一部として、コードベース全体をバックアップして、任意の数のバージョンをロールバックすることができます。
これを行う方法の1つは、展開プロセス全体を自動化するCapistranoです。開発環境でスクリプトを作成し、cap deploy、cap deploy_with_migrations、cap rollbackなどのコマンドを発行します。ログインからバックアッププロセスやDBスクリプトの実行まで、すべて自動化されます。デプロイメントを自動化することで、運用環境のエラーを排除します。私は最近、配備の最中にデータベース全体を誤って削除し、バックアップからすべてを復元する必要があった組織に発言しました。デプロイメントエラーが実際にあなたのビジネスを壊す可能性があるので、もしあなたが真剣であれば、これを自動化したい。
CapistranoはRailsで一般的に使用されているRubyベースのデプロイメントツールですが、自動化機能には無関心です。インターネットには、Capistrano(google - django capistrano)にDjangoアプリを導入するメリットについての記事が多数掲載されています。また、あなたはDjangonautsの間で人気Fabricを見て、取ることができcheck out this link here
ファイルをサーバから削除する方法を教えてください。 'rsync'はtar形式の入力を受け取ることができますか? – mjs
各展開では、バージョン管理された新しいディレクトリが作成され、シンボリックリンクされます。これにより、復元が容易になります。これは「もう少し進んでいる」という部分が出てくる部分です。 –
今まで私はユニゾンを使用しています。これには、両側の変更が自動的に同期されるという利点があります(ただし、同じファイルが両側で変更されていることを除きます)。私はサーバ上のgitデプロイメントにも切り替える必要があります。しかし、これは好きではない。 git checkoutがサーバー上で実行されます。コードはgit pullによって更新されます。 – guettli