GAPIを使用したstrapiワークフローの開始


あなたがウェブサイトを構築する必要があるとき、考慮される必要があるかなりの若干のものがあります.それらのいくつかは、あなたがサイトをどのように市場に出すかのように、より抽象的です、そして、いくつかはより技術的です.この記事では、あなたのウェブサイトのCMSを使用する技術的な側面の一つについて学びます.
ストラットのようなヘッドレスCMSを使用すると、すぐにそれを正しくバージョンに混乱したタスクになることができます.どのように変更を処理するのですか?どのように一般的なワークフローを使用して他のユーザーとコラボレーションできますか?どのように、それは異なる環境を扱いますか?
飛び込みましょう.

ワークフローの決定
Gitを使用してCMSを使用する場合は、まず使用するワークフローを決定する必要があります.エンジニアリングチームで一般的に使用されるいくつかの異なるワークフローがあります.あなたはシングルを持つことができますmain を返します.これは一般的にほとんどのgit初心者の起動ですが、それは広く使用されていませんあなたは簡単に競合とmain バグでいっぱいのブランチ.
通常、3つのワークフローがあります.
  • ギタブフロウ
  • GITFLOW
  • 機能分岐
  • GitHub flow あなたは、ほとんどのオープンソースプロジェクトで、そして、理由のために何を見つけるでしょうか.これは、次のように簡単に従うことの間のバランスを打つがmain . 基本的に、コードを変更する分岐を作成します.これは、機能、ホットフィックス、バグ、または何か他のことができます.コードをマージしたい場合は、承認された場合には、リポジトリとマージされたプル要求を開きます.
    それから、あなたはGitflow . それは1年前に開発されたとしても、意味でギタブの流れへの拡張です.直接の代わりにmain , あなたが最初にマージするdevelop 枝.新しいバージョンをリリースする準備ができたら、マージdevelop into main —その結果、main 常に最新のコードを含んでいます.
    Feature branching 最後の1つであり、それは以下の使用を見ている.それが堅実なワークフローである間、それは多くのオーバーヘッドをつくります.あなたは、機能のためのブランチを作成し、その機能に取り組んで、機能が準備ができているときにプル要求を作成します.しかし、機能が開発するために数週間または数ヶ月かかることができるので、マージは困難な作業することができます.
    これらの理由のために、この記事を通っている間、あなたはgithubフローを使用しています.それはしっかりした歴史と簡単なコラボレーションを提供しながら仕事をするのは簡単である間の大きなバランスを打つ.

    ウェブサイトの構築
    今、あなたが使用するワークフローを決めて、それはアプリケーション自体を開始する時間です.
    まず、NPMの最新バージョンをインストールしたことを確認する必要があります.これを利用して簡単にできるnvm ツール.NPMをインストールしたら、インストールしてくださいnpx 走ることでnpm install -g npx .
    今ではアプリを作成する時間です.以下のコマンドを実行します.strapi-workflow あなたのアプリの名前、または同じ名前を使用する場合は、単に次の通りです.
    注:あなただけではなく、アプリを自分で作成せずに従ってください.here は完成したコードでgithub repoです.
    $ npx create-strapi-app strapi-workflow
    
    コマンドを実行するときは、いくつかのプロンプトを通過する必要があります.最初に、クイックスタートインストールまたはカスタムのいずれかを選択するかどうかを選択します.このチュートリアルでは、クイックスタートを選択できます.インストールプロセスの詳細を読むことができますhere .
    クイックスタートを選択したら、テンプレートを選択するかどうかを尋ねます.ここで簡単なインストールを行ってください.最後に、必要なテンプレートを選択する必要があります.分または2を待って、あなたのstrapiアプリケーションが稼働している!

    strapiの設定
    タブを自動的にブラウザで開く必要があります.そうでなければhttp://localhost:1337/admin . ここでは、管理パネルを見つけることです.ここでは、下記のように、あなたのアプリケーションの管理者アカウントを作成するよう求められます.

    詳細を入力して、ダッシュボードに入力しましょう.この時点で、Gitプロジェクトへの最初のコミットを行う必要があります.プロジェクトのフォルダにシェルを配置して、次のコマンドを入力して、端末でこれを行うことができます.
    $ git init && \
    git add . && \
    git commit -m 'Initial Commit'
    

    Gitの変更に対応する
    今は、アプリケーションを設定している、それはすべてのGitと一緒にフィットする方法を学ぶための時間です.Strapiは、データベース内のすべてのデータを格納しますが、ローカルのSQLiteやホストのMySQLソリューションであるかどうかを確認しますが、フロントエンド用の新しいルートを作成したときなど、コードで設定することができます.
    すべてのルートファイルとして保存され、それは簡単にバージョンに!これがどのように実際に動作するかを見てみましょう.
    あなたのstrapiダッシュボードを開きます.プラグインの下のサイドバーで、コンテンツタイプビルダーをクリックします.ここでは、新しいを含む様々なものを作成することができますcollection types . エーcollection type Strapiでは、APIのルートを作成できる方法の一つです.
    新しいコレクションタイプをクリックして作成し、次の手順に従います
  • エンターrestaurant ディスプレイ名.
  • をクリックします.
  • テキストをクリックします.
  • エンターname 名前として.
  • をクリックします.
  • リッチテキストをクリックします.
  • エンターdescription 名前として.
  • 「完了」をクリックします.
  • 「保存」をクリックします.
  • それはあなたのファイルを更新し、新しいルートを作成するため、strapiは、サーバーを再起動します.
    書き込みによって変更が行われていることがわかりますgit status 端末で.書き込みで変更を見ることができますgit add . && git diff main (or master を返します.あなたは別のファイルの束が追加されていることに注意してください.
    あなたが行くならばhttp://localhost:1337/restaurants , ルートが作成されたことがわかります.今のところ、403エラーが発生します.なぜなら、ルートを公開していないからです.許可を修理することはこの記事の焦点ではありません、しかし、あなたは公式スターターガイドhere .
    今ではあなたのチームのメンバーと協力するのは簡単ですが、単に変更をプル要求を開くことができますし、それらを検討することができます.この例を見ることができますhere .

    環境の利用
    このアプローチがGitシナリオでよく機能する方法のもう一つの例は、複数の異なる環境で作業したい場合です.環境変数に基づいて環境を設定することが可能ですが、strapiでは各環境の設定ファイルを作成できます.
    これを行うには、次のファイルを作成する必要があります./config/env/{env}/{filename} 構造体./config/env/production/server.js . strapiを起動するときには、以下のように使用するファイルの正しい変数を設定する必要があります.
    NODE_ENV=production npm run start
    
    これが関連できる場所の例は、起動時にstrapiをバインドしているIPです.デフォルトでは0.0.0.0 , どのホストがそれにアクセスできるかを意味する.
    これは、プロダクションに展開するときに望むものかもしれませんが、おそらく、あなた自身のマシンがそれに取り組むときに開発環境にアクセスできるようにしたいだけです.これは、次の変更を行うことによって達成することができます./config/server.js :
    module.exports = ({ env }) => ({
      host: env('HOST', '127.0.0.1'),
      ...
    });
    
    それから作成./config/env/production/server.js 次のコンテンツを使用します.
    module.exports = ({ env }) => ({
      host: env('HOST', '0.0.0.0'),
    });
    
    この機能についてもっと読むことができますhere .

    結論
    今、あなたはどのようにあなたとあなたのチームはStrapi , そして、どのように簡単に、この記事のようにGithubフローを使用しているかどうか、典型的なGitワークフローと統合することができますか何か.
    strapiの変更は、通常のJSONとJavaScriptファイルとして書かれている、それは簡単にあなたが自分自身を書く何かのようなバージョンになります.それは多くの他のCMSEのために言うことができません.そして、それは典型的に、何らかの形式の独自の構造を使用しています.