問題タブ [automated-deploy]
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.
deployment - 共有ランタイム環境の適切な展開およびリリース戦略は何ですか?
現状
お客様のために、内部JavaWebStartアプリケーションとして提供されるより大きなアプリケーション内で「モジュール」として実行されるいくつかのライブラリとアプリケーションを開発しています。お客様は、このアプリケーションが実行されるインフラストラクチャを維持します。「サーバー側」は、Axis2に基づくいくつかのWebサービスで構成されています。両方の部分は、2つの別個のWebアプリケーションとして単一のTomcatインスタンスにデプロイされます。
アーティファクトの新しいバージョンをリリースするときは、必要なJARファイル(ourapp-client.jarやourapp-server.jarなど)を作成して顧客に送信し、顧客はそれらを適切な場所にドロップします。必要に応じて、Tomcatサーバーを再起動します。
目標
現在、すべてのプロジェクトをMaven化しており、将来的には「Mavenの方法」でリリースを行いたいと考えています。主な目標は、リリースと展開のプロセスを私たちの側で自動化し、エラーが発生しにくく、クライアント側の信頼性と快適性を高めることです。
主な問題
トリッキーな部分は、お客様が同じTomcat Webアプリケーション(「サーバー側」のAxis2とWeb Startアプリ)を使用して、自社開発のモジュールをアプリケーションに含めることです。したがって、明白なソリューションを使用することはできず、サーバーにデプロイされるだけの新しいWebアプリ(WAR)を提供するだけです。そのため、現在、適切な場所に「手作業で」配置された単一のJARファイルを配信しています。
製品を顧客に提供するために、一般的にどのような戦略を使用していますか?誰かが同様の状況(つまり、サードパーティの共有ランタイム環境と自己開発アプリケーション)の経験がありますか?
windows-services - MSDeployでWindowsサービスをインストールしますか?
NServiceBusを使用してイベントを公開するWebサイトがあります。サイトはmsdeployを使用してデプロイされます。これらのイベントをサブスクライブするためのWindowsサービスとして実行する必要があるNServiceBus.exeもあり、それも展開したいと思います。
サービスとウェブサイトをパッケージ化して、インストールできるようにする方法はありますか?別のサーバーにデプロイできるように、個別にパッケージ化することは可能ですか?
Webサイトの自動展開を今すぐ実行できるので、これを行う方法に関する情報をどこで見つけるかについてのヒントは素晴らしいでしょう。
language-agnostic - 複数言語の CruiseControl.net?
複数のプログラミング言語を使用し、ソース管理も自動デプロイもない環境で働き始めたばかりです。
ソース管理に VSS を推奨し、自動デプロイに CruiseControl.net を使用することに関心がありますが、ASP.NET アプリケーションで CC.NET しか使用したことがありません。CC.NET を使用して、python、php、ASP.NET、および ??? をデプロイすることは可能ですか? アプリはすべて同じインスタンスから?
continuous-integration - CI: Automated Build Studio 対 Hudson 対 Atlassian Bamboo
Windows、Linux、および Macosx のクロス プラットフォーム、リモート ビルドおよび展開をサポートし、費用対効果の高い最適なツールは何でしょうか? 今はGroovy(grails)、Java、.NETを使っていた
ありがとう
php - PHP の自動デプロイとテスト
ここで、自動デプロイ Java コードの自動デプロイについて質問しました。
バックエンドの Java API は、PHP Web アプリからアクセスされます。PHP コードの自動テストを実行しながら、この Web アプリを (CSS、JS、画像などの静的ファイルと共に) Web サーバーに自動的にデプロイできると便利です。PHPにこれに似たものはありますか?
また、この自動テストの一環として、実際の各ページが致命的なエラーなしで読み込まれることを確認できるかどうかも疑問です. リンクaをクリックしたり、ページbに移動したりするなど、ページテストを作成できるGoogleプロジェクトについて読んだことは確かです。
ありがとう
asp.net - .net Web アプリケーションの展開ツールを提案する人はいますか?
スタックフレンズ、
私の会社はアジャイル開発プロセスに従っています。.net アプリケーションのリリース管理プロセスを自動化する予定です。そして、私たちは業界で次のツールを展開するための新しいものです. Pls は、貴重なヒントや提案を提供します。
git - Capistrano の deploy.rb で Git のユーザー名とパスワードを指定するにはどうすればよいですか?
私は github を使用してリポジトリを保存しており、Deploy with Capistrano を読んでいます:
リモート キャッシングは、デプロイ先のサーバーにローカルの git リポジトリを保持し、クローン全体ではなく、そこからフェッチを実行するだけです。」
デプロイするサーバーは「私の」共有ホストであるため、そこに git をインストールする必要があります。
その際、通常は git ユーザー名と git パスワードを定義します。この deploy.rb ファイルのどこに配置すればよいでしょうか?
これまでのところ、私は持っています:
共有ホストの git パスワードへの参照を deploy.rb ファイルのどこかに置くべきではありませんか?
私はデプロイサーバーユーザーを持っています:
このパスワードは github ユーザーのものですか、それとも共有ホストのパスワードをここに入力する必要がありますか?
asp.net - この ASP.NET の展開プロセスをセットアップするにはどうすればよいですか?
ASP.NET (Webforms と MVC) を扱う小さな Web 開発ショップを経営しています。私たちはさまざまなクライアントと仕事をしているため、いつでも多くのプロジェクトがアクティブになる可能性があります (メンテナンスの更新やバグ修正を待っているプロジェクトもあります)。
現在、非常に手動の方法で展開しています (FTP ファイルをサーバーに、リモートをサーバーに、ライブ サイトをバックアップ フォルダーにコピーし、新しいファイルをライブ サイトにコピーします)。明らかに、これには多くの要望が残され、間違いが発生します。
CI と自動化されたビルドおよびデプロイ ツールについて多くのことを読んできましたが、それらはすべてセットアップがかなり困難に見えるため、頭を悩ませることはできません。
私はこの展開プロセスを自動化することを検討しており、学習して使い始めるのに最適なツールを見つけようとしています。
- 開発者はコードをローカル マシン上の Mercurial にチェックインし、ネットワークに接続されたビルド サーバー上のマスター リポジトリと同期します。
- ビルド サーバーがビルドを開始し、単体テストが適切であることを確認します。すすいで繰り返します。
- 開発者は、FTP 経由でリモート Windows サーバーへの展開を手動で選択します (別の方法はありますか?) zip ファイル (理想的には、以前に展開されたバージョンから変更されたファイルのみを含む)。
- リモート サーバーは、FTP で転送されたファイルが格納されるフォルダーをポーリングし、それらを解凍してテスト フォルダーにコピーし、テスト データベースをバックアップして、テスト データベースに対してアップグレード スクリプトを実行します (または、migratordotnet や rikmigrations などの移行アプリを使用します)。構成変換も実行する必要があります。
- クライアントは変更をレビューして受け入れるか、フィードバックを提供します。
- クライアントが受け入れた場合、開発者はリモート サーバーの Web インターフェイスの [Deploy to staging] ボタンを押して、ライブ データベースをバックアップし、ステージング データベースに復元し、ライブ サイトのファイルをステージング サイト フォルダーにコピーします (実質的にライブ サイトのクローンを作成します)。テスト サイトの変更されたファイルがステージング サイトにコピーされ (テスト イメージのアップロードなどの特定のフォルダーを除く)、移行スクリプトが再度実行されます。
- 開発者は、変更がステージング サイトを壊していないことを確認します。
- 開発者がリモート サーバーの Web インターフェイスで [Deploy to live] ボタンを押すと、ライブ サイトがバックアップ フォルダーにコピーされ、ステージング サイトのファイルがその場所にコピーされます (ユーザーがアップロードした画像などを除く)。ライブ データベースがバックアップされ、移行スクリプトが実行されます。
- 何か問題が発生した場合、開発者は、バックアップ ファイルをライブ サイトのフォルダーにコピーして戻し、以前のデータベースを復元することで、ライブ サイトを以前のバージョンに戻すことができます。
何百もの設定可能なオプションに苦労する必要はありません。新しいプロジェクトのセットアップが迅速 (5 分以内) で、繰り返し可能である必要があります。
私たちはエンタープライズではありませんが、これを実現するためにいくらかのお金を費やさなければならない場合は、ライセンス料を支払う準備ができています.
msbuild - TeamCity: 受け入れテストの展開の依存関係を管理していますか?
TeamCity 6 で一連のビルド構成を構成しようとしており、TeamCity によって可能になる最もクリーンな方法で特定の要件をモデル化しようとしています。
並行して実行したい一連の受け入れテスト (関連するシステムの機能領域ごとにグループ化された約 4 ~ 8 のテスト スイート) があります (それらをビルド構成としてモデル化して、複数のプラットフォームに分散できるようにします)。エージェントのセット)。
私の最初の調査から、スナップショットの依存関係AcceptanceTests
を介して個々の受け入れテスト構成のセットを取り込むメタビルド構成を持つことは、うまくいくはずです。次に、ビルド構成がトリガーされ、それらがすべて取り込まれると言うだけです。Commit
AcceptanceTests
AcceptanceSuiteA
AcceptanceSuiteB
AcceptanceSuiteC
これまでのところ、とても良いです (別の方法で構成Commit
をトリガーすることもできます。問題はAcceptanceSuiteA
、結果AcceptanceSuiteB
をAcceptanceSuiteC
手動で集計して、受け入れテスト全体の全体的な成功を判断する必要があることです)。
複雑なのは、いくつかのアーティファクトAcceptanceSuiteC
が必要なだけで、それ自体で生きることができ、次のことを行う必要があることです。Commit
AcceptanceSuiteA
AcceptanceSuiteB
DeploySite
(2分かかるとしましょう。この実行のためだけに完全に分離されたものをスピンアップする余裕はありません)- デプロイされたサイトに対してテストを実行する
問題は、次のことを確認できる必要があることです。
- ウェブサイトは一度だけ設定されます
- 2 つのスイートの実行中に Web サイトが破壊されることはありません
DeploySite
ビルド構成として設定し、それをスナップショットの依存関係として取得しAcceptanceSuiteA
てAcceptanceSuiteB
プルすると、AFAICT:
- の後続の実行または並行実行により、
AcceptanceSuiteB
別の実行がトリガーされ、使用中のおよび/または使用中DeploySite
の展開が破壊される可能性があります。AcceptanceSuiteA
AcceptanceSuiteB
同時に実行するビルドの数を制限して、一度に 1 つだけ実行するように強制することはできますが、依存部分がまだ実行されている間ではなく、一度に 1 つずつ実行する必要があります。
TeamCity でそのような階層をモデル化する方法はありますか?
編集: アイデア:-
がらくたの解決策はDeploySite
、「使用中フラグ」マーカーを設定し、構成でそのフラグをAcceptanceTests
クリアすることです[完了後]。問題は、ゲートが再び開かれるまで、次のパイプラインを待機させることの 1 つになります (ビルド内でブロッキング待機を行うと、気分が悪くなります。何かをするのに長い時間がかかる)。ただし、この種のものはここにフラグがあり、このビットをチェックしてください。これは、私が逃げようとしている一種の可変状態/フレークネスの匂いです。AcceptanceSuiteA
AcceptanceSuiteB
DeploySite
編集 2: エージェントの構成をプログラムで変更できれば、Agent Requirementsを require InUse=falseに設定し、デプロイの開始時にフラグを設定し、テストの実行後にフラグをクリアできます。
delphi - ユーザー変数の変更-DelphiIDE
AutomatedBuildStudioと呼ばれる自動ビルドツールを使用しています。
スクリーンショットでわかるように、Delphi IDEで$(PLKFW)
、コンピューターの特定のフォルダーを指すユーザー変数を定義しました。
質問は:
デルファイIDEを使用せず$(PLKFW)
にこの変数を変更するにはどうすればよいですか?