継続展開(CDEP)は、自動テストを生産に直接合格するすべてのコード変更の展開を自動化します。 さらなるテストのためにステージング環境に展開する継続的配信とは異なり、CDEPは包括的な自動テストに高い信頼を要求します。 サービスとしてのプラットフォーム(PAAS)である9つのninefoldは、Railsアプリケーションのホスティングに優れています。 展開を簡素化し、多数のプラグイン(Redis、PostgreSQLなど)を提供し、専用のプラグインを欠くソフトウェアをホストするために生の仮想サーバーを一意に追加できます。 NineFoldは、Codeship、Travisci、CircleciなどのCIプラットフォームとシームレスに統合します。 CI/CDサービスであるCodeshipは、ソースコードリポジトリを監視し、各変更のテストを実行し、コードを展開します。 NineFoldとの統合はCDEPセットアップを合理化します。ユーザーは、ビルドを成功させた後、自動展開のために9倍の展開URLをコードシップに入力するだけです。
この投稿はNineFoldが後援しています。 スポンサーをサポートしていただきありがとうございます!
昨年の手動展開を覚えていますか? 苦痛な待ち時間? 継続的な統合は標準的な慣行となっていますが、継続的な展開により効率が次のレベルになります。継続的な展開は、自動化されたテストが成功した後、コードの変更を生産に自動的に展開します。これは、厳密な統合テストにステージング環境を使用する継続的な配信とは異なります。 CDEPは、アプリケーション機能を確保する広範なテストカバレッジが必要です。 このレベルのテストカバレッジを達成することは困難ですが、利点 - 還元回帰リスクと手動展開時間を排除することはかなりのものです。
NineFoldのようなPAASプラットフォームの台頭は、CDEPの採用を促進しました。NINEFOLDはRailsアプリケーションを専門としており、簡単な展開、多数のプラグイン、およびプラグインをサポートせずにソフトウェアにRAW仮想サーバーを追加する重要な機能を提供します。 Codeship、Travisci、およびCircleciと統合します このガイドは、NineFoldとCodeshipを使用してRailsアプリケーション用のCDEPワークフローを作成していることを示しています。
シンプルなRailsアプリ:Ninethings
私たちの例は、基本的なRailsアプリ「Ninethings」です。これにより、ユーザーは9枚の倍数のアイテムをリストできます。 (それをニッチなソーシャルメディアプラットフォームと考えてください!)
アプリのセットアップは簡単です。足場ジェネレーターを使用して生成された標準のRailsアプリ、Foundation-Rails GEMで構造を改善し、PostgreSQLを利用します。ソースコードはgithubで利用できます
9倍のアカウントにサインアップします。 ダッシュボードを使用すると、ソースコードリポジトリの場所(Githubなど)が必要な「新しいアプリの展開」が必要です。 NineFoldのアクセスを許可した後、リポジトリとブランチを選択します。 すべてのプッシュで展開するかどうかを選択します
9倍CLI(
コマンドはログに記録し、ninefold
アプリケーションを表示します。 ninefold signin
は、アプリを再展開するためのコマンドを提供します。ninefold app list
ninefold app redeploy_command
展開したら、NineFold Dashboardは、URLおよび展開URL(コードシップ統合に重要)を含むアプリケーションの概要を提供します。
「構成」タブを使用すると、環境変数管理、カスタム展開コマンド、プラグイン構成が可能になります。
コードシップの統合
コードシップアカウントにサインアップして新しいプロジェクトを作成し、GitHubリポジトリ(Ninethings)にリンクします。 セットアップとテストコマンドを構成します(Rubyのインストール、バンドリング、Rails_Envの設定、スキーマのロード)。
適切なボタンをクリックして9倍の展開URLを入力して継続的な展開を設定します(9倍のダッシュボードにあります)。
uncheckコードシップの自動展開オプションは、テストが成功した後にのみ展開が発生するようにします。
CDEPワークフローのテスト
コードを変更し、テストの失敗を導入し、コミットし、プッシュします。 コードシップは、ビルドの障害を報告します。 テストを修正し、コミットし、再びプッシュします。 Codeshipはテストを実行し、成功すると、ninefoldに展開します。
継続的な展開は開発プロセスを簡素化し、開発者がコードに集中できるようにし、9つの間にコードシップがインフラストラクチャと展開を処理できます。 その結果、効率が向上し、展開関連のストレスが減少します
よくある質問(元のFAQセクションはここで保持されており、一貫性のためのマイナーなスタイル調整があります。) 継続的な展開の観点から、NineFoldはコードシップとどのように比較されますか? ninefold(PAAS)は、Railsとnode.jsに焦点を当て、ユーザーフレンドリーなインターフェイスと堅牢な機能を提供します。 Codeship(CI/CD)は、さまざまな言語とフレームワークをサポートし、並列テストパイプラインやDockerサポートなどの機能を提供します。 最良の選択は、特定のニーズとテクノロジーに依存します。
9倍の環境変数を使用できますか?9倍の価格設定オプションは何ですか?
NineFoldはビルドと構成をどのように処理しますか?
現在、NineFoldはDockerをネイティブにサポートしていませんが、Dockerを開発で使用してNineFoldに展開できます。
NineFoldは、ファイアウォール、安全な接続、孤立した環境、2要素認証、およびセキュリティのためのロールベースのアクセス制御を採用しています。
非ルビーまたは非node.jsアプリケーションにninefoldを使用できますか?NineFoldはデータベース管理のサポートを提供していますか?
nineFoldはいくつかのCI機能(ブランチプッシュでの自動展開)を提供しますが、高度なCIニーズには専用のCIサービスが推奨されます。
ninefoldは、ダッシュボードを介してリソースを簡単にスケーリングできるようにし、アプリケーションの負荷に基づいて自動スケーリングを提供します。
以上がNineFoldで継続的な展開をセットアップする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。