APIポイントとしてYii2(PHP / MySQL)を使用したAngular2プロジェクトに取り組んでいます。Angularアプリを顧客ごとに異なる言語でデプロイする必要があります(angular-cliからのAOTコンパイルを使用)。
これを達成するための最良の方法は何ですか?私はこの作業を行うためにDockerまたはAnsible(-container)を探しています。ただし、この例は主に1:1セットアップの場合です。しかし、次のような1:nが必要です。
deploy app-de new_costomer prod_server
さらに、アプリの新しいバージョンが利用可能になったときに、ネットワーク全体を新しいアプリで更新したい(Arcでコンパイルされたsrc /フォルダーのアップロード、およびYii2側のdb移行スクリプトが必要)。
理想的には、次のようになります。
deploy update network-all prod_server
何か案は?
明確にするために:私には多数の顧客がいますが、各顧客は独自のコンテナ(Docker、Ansibleコンテナを介して)を取得する必要があります。AOTでコンパイルされたAngularのもの(JSのみ)とMySQLを備えたPHPバックエンドがあります。
各顧客はサーバーでこの設定を取得します(つまり、3人の顧客= Angular + PHP + MySQLを備えた3つのdockerコンテナー)。
AngularとPHPの両方に非常に頻繁に更新をプッシュします(つまり、DISTフォルダー全体をアップロードするか、少なくともdiff、PHP / MySQLバックエンドの移行スクリプトを実行する必要があるなど)。
そして、これは1つのコマンドからです(SSHで各コンテナに半手動で実行したくないためです)。
これまでこのような設定を行ったことがないので、Ansible(など)を使用してこれをどのように実現できるかについて考えたいと思います。