問題タブ [production-environment]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - バージョン管理された本番環境
私の質問は、本番環境を適切にバージョン管理するにはどうすればよいですか?
これが現在の環境です。
- (内部サーバー)開発-バージョン管理されたソースコード
- (お客様のサーバー)受け入れテスト環境
- (カスタマーサーバー)ステージング環境
- (お客様のサーバー)本番環境
受け入れテスト用の新機能をリリースするときは、Visual Studioで公開し、変更を圧縮してテストサーバーに適用します。そこで、バックアップフォルダーを作成し(変更を元に戻すことができるように)、リリースフォルダーを作成して、承認されたときにこれらの変更をステージングに移動できるようにします。
これは、バックアップフォルダーの作成、フォルダーのリリース、ディレクトリ構造の再作成、およびリリースに含まれる機能の追跡を試みるための多くの手作業です。それは面倒であり、リリース手順に従わない開発者には常に問題があります。
理論的には、テスト環境用のリポジトリを作成できます。(ソースコードを忘れてください。これは公開されたアプリケーションに関するものです)リリースごとに、開発者はコミットを行い、リリースしている機能についてコメントを提供します。
機能をテストからステージングに移動する必要がある場合は、ステージング環境が最後に更新された日付から行われた変更をエクスポートし、ステージングアプリケーションにコピーします。そこで、本番環境にリリースするために後で抽出できるコミットを実行します。
これの欠点は、Subversionを使用すると、アプリケーションがそれらの.svnディレクトリで乱雑になることです。これは、IISまたはweb.config内のこれらのディレクトリへのアクセスを禁止することで修正できます。別の解決策は、アプリケーションのルートディレクトリの上のディレクトリでGitを使用することです。しかし、Gitは、Windows環境で経験の浅い開発者にとっては扱いにくいものです。
誰かがこの問題の経験がありますか?本番環境をどのようにバージョン管理しますか?リリースを元に戻す必要がある場合、リリース前に作成したバックアップフォルダはありますか?
私はこれについて開発者と話し合いましたが、テスト/ステージング/本番環境のバージョン管理とバックアップにSubversionを使用しても問題はありません。まったく逆に、新しい機能をリリースする必要があるたびにリリース/バックアップフォルダを作成しないことを喜んでいます。
同時に、これについていくつかの不安があります。アプリケーションをバージョン管理システムに配置しているため、これについて聞いたことはありません。欠点が何であるかはわかりません。
このようなシナリオの経験があれば、喜んでお聞きします。
ミカエル・ルンディン
enterprise - 「エンタープライズ対応」とは何ですか?テストできますか?
Stackoverflowには、x( Ruby / Drupal)テクノロジーが「エンタープライズ対応」であるかどうかを尋ねる質問がいくつかあります。
「エンタープライズ対応」はどのように定義されているのでしょうか。
誰かが独自のチェックリストを作成しましたか?
誰かがテストするベンチマークを持っていますか?
sql-server - 私の環境では有料の SQL Server ライセンスが必要ですか?
PHP ページに接続してゲームから情報を送信するゲーム用のプラグインを作成しました。PHP ページはこの情報を取得し、SQL Server 2005 インスタンスに接続してから、与えられた情報をさまざまなテーブルに挿入します。
PHP ページをホストするために Apache (WampServer) を使用し、データベース サーバーをホストするために SQL Server 2005 Express を使用しています。開発に関してはこの設定で問題ありませんが、このプラグインを他のプレイヤーにリリースしたいと考えています。彼らのバージョンのプラグインは、リモートの PHP ページに接続してデータベースにデータを追加したり、データベースから情報を照会したりするという点で、私のものと同じです。
「クライアント」はデータベースに直接アクセスしていないため、SQL Server 2005 をこのように「合法的に」使用するには、何らかの種類の有料ライセンスが必要ですか? 「運用サーバー」の標準的な定義は何ですか?
注: このプラグインまたは PHP ページから収益を得ているわけではありませんが、プラグインが作成されたゲームには有料サブスクリプションが必要です。私は開発者ではなく、ゲームの関係者でもありません (私自身が有料サブスクリプションを利用している場合を除きます)。
synchronization - テスト サーバー環境と実稼働サーバー環境をクリーンで同期した一貫性のある状態に保つ
私の勤める会社は、お客様のサーバー環境にいつも悩まされているようです。
具体的には、ほとんどの場合、テスト サーバーと運用サーバーで問題が発生し、それらの構成が常に異なるように見えるという事実があります。開発したアプリケーションをテストするとき、テスト サーバーは 1 つの方法で動作するため、その特定の動作に合わせてアプリケーションを微調整および構成します。しかし、実稼働サーバーに同じアプリケーションをインストールすると、テスト サーバーと一致しない別の動作が観察されるため、微調整や構成が役に立たなくなります。最もイライラする部分は、これが常に発生し、誰もそれについて何をすべきかを知らないように見えることです.
もちろん、なぜこれが起こるのかについての一般的な考えはあります。すべてのクローン環境は同じように開始され、最初の数日は同じように機能しますが、遅かれ早かれ誰かがサーバー環境の 1 つだけで何かを再構成します (データベースの更新、コンポーネント ライブラリの更新、Web ファイルの更新など)。または他の構成)、それによって不一致につながります。そして、時間が経つにつれて、より多くの不一致が蓄積されます。しかし問題は、それについて何ができるかということです。
Web を検索してみましたが、何をすべきかについて良い答えが見つかりません。私も自分でいくつかの解決策を見つけようとしましたが、私のアイデアのほとんどは何らかの形で問題があるようです. 新しいルーチンは、どんなに厳密であっても回避できます。テスト サーバーを作成するために運用サーバーを定期的に複製するのは面倒で、多くの場合非常に時間がかかります。自動複製は常に信頼できるとは限らず、可能でさえありません。では、この問題について私たちは一体何をすべきなのでしょうか? テスト時のエクスペリエンスが本番稼働時のエクスペリエンスと一致することをどのように保証できますか?
他の人もこの問題を抱えていると思います。それとも彼らはしますか?たぶん、無能なのは私の特定の会社だけですか?問題に遭遇した人はいますか?もしそうなら、あなたはそれについて何をしましたか?
心から、
Linus、スウェーデンのシステム開発者
production-environment - ファイルをsvnフォルダーから本番サーバーに移動する方法
ソース管理 (SVN) の下で PHP で書かれた Web サイトがあります。すべてのファイルを Web サイトのディレクトリから運用サーバーに一度に移動したいと考えています。
問題は、このフォルダに SVN (.svn) のフォルダがあることです。2 つ目の問題は、ソース管理下にあるファイルだけをサーバーに配置したくないことですが、このフォルダー内の他のファイル (画像、css など) も配置したくないということです。
これを行う方法を教えてください。繰り返し可能であればいいのですが、実行するコマンドは 1 つだけです。
また、アップロードを最適化して(変更されていないファイルをアップロードしないで)、本番環境への移行プロセス全体を高速化する可能性があれば、それも素晴らしいでしょう。
編集:
私の開発環境は Eclipse PDT とお気に入りの FTP filezilla です。
logging - 複数のマシンでログを検索する
マシンのクラスター全体に分散しているログ ファイルを追跡して検索できる優れたツールを知っている人はいますか? 複数の Web サーバーとアプリ サーバーがあり、各サーバーのログを 1 つずつ調べるのは面倒です。
dynamic-language-runtime - DLR 0.9 は、実稼働環境で Microsoft によってサポートされていますか?
DLR が C# 4.0 と共にリリースされることは知っていますが、それがいつになるかはわかりません。それまでの間、DLR を本番環境 (ハードウェア リアルタイム システムを使用しない環境) で使用したい場合、C# 4.0 がリリースされるまで延期することを検討する必要がありますか?
私が尋ねていること: 既存のバージョン 0.9 は Microsoft によってサポートされていますか?
web-services - Tomcatまたは完全なJavaEEコンテナを使用する必要がありますか?
既存のアプリケーションの上にWebサービスレイヤーを設計する必要があります。本当に、私はWS-SecurityとJMSのサポート、おそらくJTAに最も興味があります。
これに使用するのに最適なサーバーは何ですか?軽量のTomcat(私が経験したもの)を使用するのは賢明な決断ですか、それとも、JBoss AS、WebLogic、さらにはGlassFishなどの完全なJava EEスタックを実装するサーバーを使用する方が良いでしょうか?
ruby-on-rails - フィクスチャからレールにテーブルを作成するにはどうすればよいですか?
簡単な要約: 私は、個人的なチェックリスト/やることリストである Rails アプリを持っています。基本的に、ログインしてToDoリストを管理できます。
私の質問: ユーザーが新しいアカウントを作成するときに、チェックリストに 20 ~ 30 の既定の To Do 項目を入力したいと考えています。私は言うことができることを知っています:
ただし、入力する ChecklistItem 行が 20 行あるため、60 行の非常に湿った (DRY ではない) コードになります。もっと良い方法があるはずです。
そのため、アカウントの作成時に YAML ファイルから ChecklistItems テーブルをシードしたいと考えています。YAML ファイルには、入力するすべての ChecklistItem オブジェクトを含めることができます。新しいユーザーが作成されたとき -- bam! -- 事前設定された To Do 項目がリストにあります。
どうすればいいですか?
ありがとう!
(追伸: なぜ私がこれを行っているのか疑問に思っている方のために: 私は Web デザイン会社のクライアント ログインを作成しています。20 の一連のステップ (最初の会議、設計、検証、テストなど) を実行します。これらの 20 のステップは、新しいクライアントごとに入力したい 20 のチェックリスト項目です. ただし、誰もが同じ 20 の項目から始めますが、通常、プロジェクトに基づいて実行するステップをカスタマイズします (したがって、私のバニラのやることリストの実装と、プログラムで行を入力したいという願望)質問があれば、さらに説明できます.