問題タブ [staging]
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.
svn - 開発、ステージング、ライブの Subversion 計画
私は、コードの損失と本番展開の問題を最小限に抑えるために、Subversion プロセスと展開を再構築する計画段階にあります。私たちの現在のシステムは、ライブをプッシュする前にランダムなサーバーでサブドメイン名を作成してテストするだけで構成されています。
現在の計画について提案や意見を聞き、このシステムを改善する方法についてフィードバックやアイデアを得たいと思っていました。
詳細:
- 小さな開発チーム。
- 開発とステージングは同じマシン上に存在します。
- 製品バージョンは他のサーバーに存在します。
- およそ 30 のプロジェクトが Web 関連 (Web サイト、Web アプリケーション、Web サービス) です。
- 約 30 のプロジェクトは、デスクトップ アプリケーション、DLL、コンポーネント、bat ファイルなどです。
- VPN アクセス経由でのみアクセス可能な Dev サブドメイン名。
- Web のステージング サブドメインはパブリックにアクセスできます。exe ステージングは、VPN からのみアクセスできます。
- 各プロジェクトには、開発およびステージング サブドメインとリポジトリがあります。Dev バージョンは、ステージング トランクのブランチです。
- プライマリ dev リポジトリ: dev.domain.com (たとえば、一般的な名前を使用)。
- プライマリ ステージング リポジトリ: staging.domain.com (たとえば、一般的な名前を使用)。
展開:
プロジェクトの開発バージョンは、ステージング トランクのブランチです。ステージングは、特定のプロジェクトのリポジトリを保持します。その後、ファイルを手動で本番環境にコピーするか、デプロイ スクリプトを実行します。
例: 開発者は、projectname.projecttype.dev.domain.com (site1.web.dev.domain.com) から取得したローカル コピーを使用します。変更はローカル バージョンに加えられ、テストのためにプロジェクトの開発ブランチにマージされます。すべてのテストが完了すると、ブランチはプロジェクト トランクにマージされます。プロジェクト トランクがすべてのテストに合格すると、プロジェクトが公開されます。
Subversion リポジトリ構造: *注意: ファイル構造はドメイン名の構造と一致します。*
開発ブランチ: ローカル開発環境へのチェックアウトは常にこのサーバーで行われます。
ステージング トランク: 開発者が触れたことはありません。ファイルは、ブランチを特定のプロジェクトのトランクにマージすることによってのみ更新されます。ライブにプッシュする前にインストールをテストします。本番環境には対応していますが、顧客はアクセスできないと想定する必要があります。
これはどのように見えますか?不足している、または失う予定の機能はありますか? 彼らは私が使用すべきより良いシステムですか?
web-services - Sitecoreはプログラムでキャッシュをクリアします
Sitecoreでプログラムで公開しようとしています。公開は正常に機能します。ただし、プログラムでこれを行っても、サイトコアキャッシュはクリアされません。プログラムでキャッシュをクリアする最良の方法は何ですか?
ステージングモジュールに付属しているWebサービスを使用しようとしています。しかし、不正な要求の例外が発生しています(例外:リモートサーバーが予期しない応答を返しました:(400)不正な要求。)。クライアント側の構成ファイルでサービスのreceivetimeoutとsendtimeoutを増やしようとしましたが、問題は解決しませんでした。何かポインタをいただければ幸いです。
私は次のコードを使用しています:
次のコードを使用して公開しています。
python - GoogleAppEngineでステージング環境を設定する方法
開発サーバーと本番サーバーを適切に構成したら、Google App Engineでステージング環境をセットアップして、新しい開発バージョンを本番環境にデプロイする前にライブでテストできるようにしたいと思います。
私は2つの異なるアプローチを知っています:
A.最初のオプションは、app.yaml バージョンパラメーターを変更することです。
このアプローチが気に入らないのは、ステージングテストで本番データが汚染されていることです(間違っている場合は修正してください)。
- ステージングバージョンと本番バージョンは同じデータストアを共有します
ステージングバージョンと本番バージョンは同じログを共有します
最初の点に関しては、新しい名前空間pythonAPIを使用して「修正」できるかどうかわかりません。
B. 2番目のオプションは、app.yaml アプリケーションパラメーターを変更することです。
このアプローチでは、本番バージョンから完全に独立した2番目のアプリケーションを作成します。
私が目にする唯一の欠点は、2番目のアプリケーション(管理者が設定)を構成しなければならないことです。Gaebar
のようなバックアップ/復元ツールを使用すると、このソリューションもうまく機能します。
Webアプリケーションのステージング環境をセットアップするためにどのようなアプローチを使用していますか?
また、デプロイする前にyamlを変更するための自動スクリプトはありますか?
testing - ブラウザーで (ライブとテスト用の) URL を交換するブックマークレット
以前は、次のブックマークレット コードを使用して、サイトのステージング サーバーとライブ サーバーの間で URL を交換していたので、ステージングされたページが正常にライブにプッシュされたことをテストできました。
ステージング URL: www.stage.site.com/folder/page.html
ライブ URL: www.site.com/folder/page.html
そのブックマークレットのコードは次のとおりです。スクリプトは、ステージからライブ、ライブからステージの両方向に機能します。
javascript:if(location.host=='www.site.com')(location.href='http://www.stage.site.com'+location.pathname);if(location.host=='www.stage.site.com')(location.href='http://www.site.com'+location.pathname);
ただし、サイトのアーキテクチャ (CMS) が変更され、ステージング URL がライブ URL とは大きく異なります。
オーサリング URL: author.site.com/bucket1/bucket2/bucket3/folder/page.html
ライブ URL: www.site.com/folder/page.html
切り捨てられたパス名を処理できるように、そのブックマークレット コードを書き直す方法を理解できませんでした。
svn - ステージング環境へのアクセスを制限する方法
現在、私たちのワークフローでは、開発者がソース管理用のSVNを使用してローカルでホストされているWebアプリケーションのコピーに取り組んでいます。サブドメインで実行されている指定されたステージング環境に新しいリビジョンをデプロイするコミット後のフックがあります。
私の質問は、これらのステージングサイトへのアクセスを制限して、検索エンジンに遭遇したり、インデックスに登録されたりしないようにするための最良の方法は何ですか?
リモート開発者が動的IPからやむを得ず作業しているため、IPベースのものは避けたいと考えています。
ログイン資格情報を使用して、a)ステージング環境で実行するときにチェックされるアクセスCookieを提供するか、b)現在のIPアドレスを一定の長さで許可されているものとして登録する簡単なフォームなどの初期のアイデアがあります。時間の。
誰かがアイデア、以前の経験、またはベストプラクティスを共有できれば、それは非常にありがたいです
git - git ステージング領域を無効にする
私は git ステージング エリアが本当に好きではありません。生活が不必要に混乱するだけです。
すべての編集済みファイルと新しいファイルが単一のコンテキストにあるように無効にすることはできますか? そのため、git diff はリポジトリと作業ディレクトリの間の差分を表示し (また、git diff --cached と入力する必要はありません)、git ci は作業コピー全体 (ステージングされた部分だけでなく) をチェックします。
そうでない場合は、ステージングがないように見える代替手段 (設定のセットアップなど) も素晴らしいでしょう。
別の DVCS に変更するオプションはありません。また、ステージング エリアを気に入るようになりたくありません。これらを提案するために投稿しないでください:(
ありがとう、-ショーン
PS:私はこれをsuperuser.com、https: //superuser.com/questions/192022/disable-git-staging-areaで尋ねましたが、そのフォーラムは投稿がはるかに少ないようです(ここの4448と比較して、118のみがタグ付けされたgitです)
git - Git プロダクション/ステージング サーバーのワークフロー
現在、私の Web サイト (本番サーバー) には既に多くのコードが含まれています。そして今、プロジェクトで Git の使用を開始し、チーム用にステージング サーバーをセットアップしたいと考えています。誰でも私にアドバイスをもらえますか?
ここに私の心の絵があります:
私の質問は、どのように始めればよいですか?
ここに私の心のいくつかのステップがあります:
- 運用
git init
サーバーで実行します (これは安全ですか?) clone
本番環境からステージング サーバーへのレポ- 開発者
clone
は、ステージングからローカル マシンへのリポジトリ push
変更の完了後にファイルをステージング サーバーに- ステージングの準備が整ったら、
push
本番環境へ
このワークフローは理にかなっていますか、それとももっと良い方法がありますか?
1 つのファイルだけを変更したい場合はどうすればよいですか?
origin/master は、このプロセスで何か関係がありますか?? 元は誰?複数のオリジンを持つことになるのでしょうか??
また、この場合、開発者はいつ使用する必要がありbranch
ますか?
php - ステージング/開発サーバーをセットアップするための最良/より良い/最適な方法
最近サービスを開始しました。つまり、サイトで直接作業することはできなくなりました。または、危険を冒して作業を行います。
開発サーバーを作成する「標準」または「最良」の方法を見つけることができませんでした。私が見た2つのことは、
a) GIT または SVN を使用してデータをホストする (これで問題が解決するわけではありません。できれば自宅のコンピューターではなく、どこかで開発できる必要があります)
b) カピストラーノ (Rails の場合、PHP 用のものはありますか?)
私が検討している現在の解決策は、サーバーの完全なコピーを「development.domain.com」に配置することです。これにより、すべての作業が可能になり、ファイルをメイン セクションにコピーするだけで済みます。
これは実行可能な解決策ですか?最適なソリューションは何ですか? (別途サーバー、専用工具等)
編集 このシステムは、多くの開発者によって開発されます。システムの完全な機能とセキュリティを可能にするために、サーバー設定が大幅に調整されました。自分のコンピューターで開発を行うことは、実行可能なソリューションではなく、同じ場所にプログラマーがいないため、イントラネット タイプのシステムでもありません。
サーバー上のソリューションを探しています。
jquery - jQueryを使用してすべてのリンクにサブフォルダーを追加する
現在、www.example.com/staging にあるステージング環境のサイトで作業しています。サイトのすべてのリンクは相対的に設定されています (例: /about/)。ページ上のすべてのリンクに「/staging」を追加する簡単な jQuery を作成しようとしているので、その週のすべてのリンクを変更する必要はありません。つまり、ステージング環境にあります。HTML タグがオプションであることは知っていますが、リンクが ExpressionEngine で動的に追加されているため、機能していないようです。jQuery はかなり単純なはずだと思います。これが私が持っているものですが、何かが正しくありません:
助けてくれてありがとう。
ruby-on-rails - 本番データベースをステージング カピストラーノにコピーする
ステージングおよび本番サーバーでレールとカピストラーノを使用しています。ステージングにデプロイするときに、本番データベースをステージング データベースにコピーできる必要があります。これを達成する簡単な方法はありますか?
私はmysqlと次のようなものでこれを行うことを考えました:
(私はこれをテストしていないので、うまくいくかどうかはわかりません)しかし、別の方法があればもっと簡単/良いでしょう。
助けてくれてありがとう