問題タブ [dev-to-production]
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.
node.js - 独自のインフラストラクチャで実行されている Meteor
このサブジェクトに関する Meteor の公式ドキュメントを読んだ後、ノード js サーバーを再起動せずに、コードを変更して新しいバージョンをデプロイできるかどうか知りたいですか? 私の考えは、更新を行う開発サーバーを用意し、テスト後に実際の運用サーバーに変更をコミットして、何も壊さないようにすることです。これが意味をなさない場合、同じ結果を達成するための現在の最良のアプローチは何ですか?
助けてくれてありがとう。
ruby-on-rails-3 - ユーザーがプロファイルの編集後に Heroku でサインアウトした - Hartl railstutorial からのサインインを使用
私の問題はレールに似ていますが、プロファイルを編集した後にユーザーがサインアウトしますか? しかし、私はサインイン/サインアップにデバイスを使用していません。むしろ、Michael Hartl の railstutorial 章 7-9 からコピーしたコードを使用しています。そして、それは開発でうまく機能します!しかし、Heroku にプッシュすると、ユーザーが編集 (更新) をプロファイルに保存した後、アプリがユーザーをサインアウトします。編集内容はデータベースに正しく保存されます。
ここに github があります: https://github.com/crowdpublishtv/crowdpublishtv
ここに私の users_controller.rb があります:
iphone - 制作アプリ都市型飛行船
アーバン飛行船の開発に成功しました。実稼働アプリを作成し、airshipConfig ファイルでアドホック : YES にキーとシークレットを設定します。本番用の SSL 証明書を生成し、都市飛行船にアップロードします。
テスト通知を送信して、動作していることを確認したい。オーディエンスでデバイス トークンを取得します (これは開発で使用したものと同じです) が、コンソールに "Apple Push service reject device token XXXXXXX" というエラーが表示されます。コンソールの他のエラーは「アクティブなデバイスがありません」です...アプリを閉じるか、アプリをバックグラウンドに設定すると、ステータスが非アクティブと表示されます。
では、アプリがアプリストアにアップロードされていない状態で本番環境をテストできますか? 本番環境をテストするにはどうすればよいですか?
plz、私は完全に混乱しています
git - 1 つの vps で 2 つの git リポジトリ (開発用と本番用) を作成する方法
私の英語でごめんなさい。
私が持っている: VPS、インストールされた git、Web アプリケーションは次のパスでホストされています: /var/www/%username%/data/ アプリケーションの構造:
タスク:テスト サーバー (dev.site.com) と運用サーバー (site.com) を作成します。テスト リポジトリはコーディング用であり、git を使用して運用リポジトリにプッシュします。
問題: 2 つのローカル リポジトリを保存する方法と場所がわかりません。テスト リポジトリは dev.site.com に表示する必要があります。そこで作業してから、site.com に表示される本番リポジトリにプッシュできます。
リポジトリごとにフォルダー /app/ の 2 つのコピーが必要になると思います。また、リポジトリごとに同じ 2 つのパブリック フォルダー /site.com/ と /dev.site.com/ が必要になると思います。たとえば、次のようになります。
質問:このような構造の各リポジトリをどこでどのように初期化すればよいですか? また、各リポジトリに適切なディレクトリのみを追加するにはどうすればよいですか?
wcf - 「テスト」環境は「テスト」外部サービスを使用する必要がありますか?
一般的な操作の一環として、多数の外部サービスを使用するアプリケーションを管理します。一部のサービスは SOAP サービスであり、その他は Restful Api です。当社が管理するサービスもあれば、サードパーティのサービスもあります。アプリケーションの機能の中心となるサービスもあれば、より補助的/必須でないサービスもあります。
各外部サービスは、「テスト」および「ライブ」環境を公開します。現在、アプリケーションがテスト中 (つまり、開発、テスト、およびステージングのフェーズ) にあるときは、外部サービスのテスト バージョンを使用する必要があるというポリシーに従っています。サービスのライブ バージョンが消費されるのは、ライブ環境のみです。
環境間でどのバージョンのサービスを使用するかを管理する際に、無視できない量のオーバーヘッドがありますが、これは問題ではありません。私の質問は、このポリシーが良いアイデアかどうかです。代わりに、外部サービスのライブ バージョンを常に使用する方がよいでしょうか? 自分たちで管理している外部サービスのテスト バージョンを公開するという間違いを犯しましたか。つまり、テスト環境を非公開のままにする必要がありますか?
アプリケーションが「ライブ」に達するまで、ライブの外部サービスを指さなかったことに(まだ)悩まされていませんが、問題の一部は、開発、テスト、およびステージを「 test' 傘をさすと、ライブの外部サービスに対してテストする能力が失われます。
現時点でわかっているのは、テスト環境でテスト サービスを使用しても得られるものはほとんどないということです。ライブのサードパーティ外部サービスの利用に伴うコストはごくわずかです。また、「テスト」フェーズでクライアントによって消費されていることを認識しているということで、私たち自身のサービスに影響を与える可能性がありますが、これはおそらく対応できるでしょう。
シナリオがこれでいくぶんオープンエンドであることは理解していますが、進むべき道は 2 つしかないように思われますか?
git - 異なるブランチを異なる heroku アプリにプッシュするにはどうすればよいですか?
私はherokuにプッシュされるWebアプリに取り組んできました。ソースは GitHub でホストされています。
git push
master ブランチを GutHub にプッシュします。
私の git ブランチ 'master' は Heroku アプリ ' my-app-staging
'に接続されています
アプリgit push heroku
をmy-app-staging.herokuapp.com
「プロダクション」アプリとなる新しい Heroku アプリを作成しました。これを「 」と呼びましょうmy-app-prod
。
production
' ' (つまり)という名前のブランチを作成し、GitHub でマネージド ブランチにするためにgit checkout -b production
実行しました。git push -u origin production
production
ブランチをリンクしたいので、ブランチmy-app-prod.herokuapp.com
に切り替えたときに、入力するだけで(または同様のことを)production
簡単に入力でき、出来上がり-本番ブランチが本番アプリにプッシュされます。git push heroku
git push prod-heroku production
production
ブランチをmy-app-prod
Herokuにリンクするための推奨される方法は何ですか?
私はこれについてHeroku 自身のドキュメントを調べましたが、Heroku の Web サイト経由でアプリをセットアップするのではなく、CLI を使用してアプリをセットアップしたと想定していheroku create
ますが、次の段落は私の頭を回転させます:
入力するのは簡単で
git push staging master
、git push production master
上記の手順に従えば簡単です。ただし、多くの開発者は、git のブランチを利用して、進行中のコードと本番用のコードを分離することを好みます。この種のセットアップでは、マスター ブランチから運用環境にデプロイし、ステージング アプリでレビューされた後、開発ブランチからの変更をマージします。このセットアップでは、プッシュは少しトリッキーです:
私が行きたいところは次のとおりです。
- ブランチ内
master
: (a)git push
コードを GitHub にプッシュし、(b)git push heroku
コードをmy-app-staging
Heroku にプッシュします - ブランチ内
production
: (c)git push
コードをproduction
GitHub のブランチにプッシュし、(d)コードをHerokuにgit push heroku
プッシュします。production
my-app-prod
上記のステップ 1 が既に実施されており、ステップ 2 (c) が実施されている場合、ステップ 2 (d) を達成するにはどうすればよいですか?
ruby-on-rails - ポート 80 で運用モードが実行されていない (Rails)
RAILS_ENV=production rails s
同じ行でコマンドを実行すると、ポート 3000 ではなくポート 80 で実行されない理由がわかりません。本番モードで実行したいのですが、正しいポートで実行されていません。理由を知っている人はいますか?私はラバーを使用しようとしていますが、このチュートリアルで説明されているように、いくつかのファイルを変更しただけで、コマンドを実行していません。
root@ip-000-00-00-000:/home/ubuntu/Git/# RAILS_ENV=production rails s
=> Booting Thin
=> Rails 3.2.11 application starting in production on \http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
\>> Thin web server (v1.5.1 codename Straight Razor)
\>> Maximum connections set to 1024
\>> Listening on 0.0.0.0:3000, CTRL+C to stop
^C>> Stopping ...
Exiting
python - 本番環境で Flask を使用して Coffeescript をコンパイルする
本番環境で実行している Flask アプリがあります。現在、Coffeescript のようなものに分割して書き直したい大きな醜い js ファイルがあります。CoffeeScript のコンパイルを簡素化するために、Flask-Cake のようなものを検討していました。ただし、そのようなものが本番環境でどのように機能するかはわかりません。おそらく、デプロイする前に coffeescript ファイルをコンパイルするスクリプトが必要ですよね? 私は、この特定のレイアウト (サーバー側はコンパイルされていないが、クライアント側はコンパイル済み) のシステムで作業したことはありません。ここでの標準的な手順は何ですか?
git - ローカル / ステージング / 本番サーバー スタック + Git の最適なワークフロー
次のことを可能にする Web 開発ワークフローを組み込むことを検討しています。
- ローカルで開発/テスト
- 実稼働サーバーを模倣します (多くのサブドメイン、いくつかの mysql DB)
- デスクトップとラップトップの間で同期を維持し、外出先での開発を可能にします
- 簡単にローカルをプッシュ -> ステージング
- ステージングを簡単にプッシュ -> プロダクション
- 実稼働サーバーで簡単にライブ編集します (非常に小さなコンテンツの更新、タイプミスの変更などのために必要になる場合があります。現在、私は小さな編集を行い、それをステージングにプッシュしてから実稼働にプッシュすることに多くの時間を費やしていますが、マイナーなことにはしばらく時間がかかります.)
私はGitも初めてです。私は個人的なプロジェクトで Git を使用して水域のテストを開始しましたが、継承したプロジェクト (本番環境/ステージング環境) では、この時点までバージョン管理を使用していません。
質問:
- 大規模な確立されたプロジェクトをローカル環境 (XAMPP) に簡単に適応させるにはどうすればよいですか?
- dev-laptop と dev-desktop の間でローカル環境を同期するにはどうすればよいですか?
- このタイプの事前に確立されたプロジェクト/サーバーのセットアップにおいて、Github はそれだけの価値がありますか? さらに多くの手順が追加されているようです (例: ローカル -> git リポジトリにプッシュ -> リポジトリをステージング サーバーにダウンロード -> ステージング サーバーをライブ サーバーにプッシュ)。また、プライバシー/セキュリティの維持についても懸念しています。
基本的に、私はかなり大きなプロジェクトを任された 1 人の開発者であり、できるだけ簡単に/簡単にできるようにしたいだけです。:)