問題タブ [continuous-deployment]
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.
msbuild - IIS の関与を必要とせずに msbuild zip パッケージをローカルまたはリモートで展開する方法
アプリケーションのデプロイの自動化を可能にするアプリケーションを作成中です (https://github.com/twistedtwig/AutomdatedDeployments#readme)。
すべてがソース管理、アプリケーション ファイル、アプリケーション構成、および IIS 構成にあるという考えです。私のアプリケーションでは、開発マシンへのビルド後にソリューションを自動展開できます (ビルド後の setp を sln / proj ファイルに追加します)。これにより、CI サーバーがテストのためにそのマシンに自動展開できるようになり、CI サーバーは成功したビルドを QA / テスト / 実稼働サーバーにプッシュすることができます。私が msdeploy で抱えている問題の 1 つは、事前に IIS を Web サイト/アプリケーションでセットアップする必要があることです (私のアプリはこれを回避しようとしています)。
これまでのところ、構成ファイルを介してアプリケーション プール、Web サイト、およびアプリケーションを自動的に作成、更新、および削除できます。ファイルとフォルダーを正常に同期できます。最後の手順は、msbuild で /target:package スイッチを使用して、Web デプロイ用のクリーンなファイル構造を作成することでした。たとえば、次のようなコマンドを実行します。
これにより、「C_C\wbesites\mySite」の内部ファイル パスを持つ適切な zip ファイルが作成され、(私が理解しているように) 運用サーバーに同期する準備が整います。
私の問題は、この zip ファイルを展開する方法です。IIS 情報から独立させたい、つまり、ファイル/フォルダーをある場所 (開発者用のローカル マシン上、またはテスト用のリモート マシンなど) にプッシュするだけです。アプリ プールやサイトなどを使用した IIS のセットアップは、個別に処理されます。私が試したコマンド (およびその出力) の一部を以下に示します。
と
最初のコマンドで、ファイルをその構造で解凍しようとしています。ただし、アプリプールの件については動揺しているようです(触れたくありません)。
2番目は「自動」ビットを回避しようとしていますが、これも満足できません。
このプロセスに関する多くの情報を見つけるのに苦労しています。
現時点でこれを達成する方法を確認できる唯一の方法は、msdeploy を使用するのではなく、ファイル構造を統合し、自分自身でファイルを同期するための独自のタスクを作成することです (理想的ではありません)。
git - Heroku への自動デプロイのための svn コミット後の Git プッシュ?
チームに非常に単純な自動展開システムを実装しようとしています。
私たちのコードは SVN リポジトリにありますが、heroku を使用してアプリケーションをデプロイします (GIT を使用)
現在、私はローカルで次のことを行っています。
しかし、このプロセスを自動化して、チームの誰かが新しいコードをコミットすると、自動的に heroku にプッシュされ、開発サイトで表示できるようにしたいと考えています。
これを行う簡単な方法はありますか?EC2 インスタンスをセットアップし、コミット後に (フック スクリプトを使用して) ssh 接続し、上記のコマンドを実行しますか? しかし、この解決策は複雑すぎるようです..
amazon-web-services - AWS Elastic Beanstalk を使用して単一の EC2 インスタンスに複数のアプリケーションをデプロイできない場合の回避策は?
AWS Elastic Beanstalk を使用して (Visual Studio 2010 経由で) Web アプリを実行しています。
開発とプレゼンテーションの目的で、同じサーバー上に 2 つ目のサイトが必要になりました。継続的な展開のために新しい場所を指定したいと思います。満足したら、元の (本番) 宛先に切り替えたいと思います。
私はオンラインでいくつか読んでいますが、Elastic Beanstalk を使用して同じインスタンスで 2 つのサイトを実行することはできないようです?
現在、無料利用枠で実行しており、できる限りのペニーを絞り込もうとしています。運用前環境をホストするために別のインスタンスをスローする必要があると、無料利用枠の使用に割り当てられた時間が半分になります。
何か案は?
clojure - 実行中のClojureアプリケーションのバージョン番号へのランタイムアクセスを取得するには?
Clojure で書かれた継続的に配信される Web サービスがあります。自動デプロイ ツールがデプロイされたコードベースのバージョンを認識できるようにするために、Web サービスはそれがどのバージョンであるかを照会する方法を提供する必要があります。バージョンは、次のように、Leiningenビルド ツールのプロジェクト セットアップの一部として宣言されます。
コードベースは JAR ファイルとしてパッケージ化されています。
私たち開発者は、コミットごとにバージョン番号を増やしたくありません。代わりに、継続的インテグレーションサーバー (この場合は Jenkins) で新しいビルドがトリガーされるたびに、自動的にインクリメントされるようにします。たとえば、バージョン管理チェックインがこのコードベースの 40 秒ビルドを要求した場合、バージョンは1.2.42
.
ビルドおよびデプロイされた特定の JAR について、何らかの方法でバージョン番号を照会できるようにしたいと考えています (たとえば、HTTP 要求を使用しますが、これは実装の詳細です)。応答には文字列が含まれている必要があります1.2.42
。
そのバージョン番号を実行中のアプリケーションで利用できるようにするにはどうすればよいですか?
(重複の可能性がありますが、Jenkins の側面は含まれていません: Embed version string from leiningen project in application )
azure - Team Project Build を TFSPreview から Azure にデプロイする場合、デプロイする Web アプリをどのように指定すればよいですか?
チーム プロジェクトの TFSPreview アカウントがあり、1 つの Web アプリケーションを含むソリューションをビルドするビルド定義があります。
継続的なデプロイを実現するために Azure にリンクしました (ビルド定義は "AzureContinuousDeployment.11.xaml" ワークフローを使用します)。
すべて正常に動作します。私が理解していないのは、展開するWebアプリが複数ある場合、どのWebアプリをどのように選択するのですか? これに関する設定が見つかりません。
upd: ソリューションに 2 番目の Web アプリ プロジェクトを追加しました。最初のものはまだ展開中です。2番目のものはそうではありません。どの設定を展開するかについては、まだ設定が見つかりません。
deployment - TFSBuild for MVCアプリを使用して継続的デプロイを設定するにはどうすればよいですか?
MVCWebアプリケーションをさまざまな環境にデプロイするための最良のメカニズムについていくつか質問があります。以前はセットアッププロジェクト(.msi)を使用していましたが、これらはVS2012で廃止されたため、別のプロジェクトに移行することを検討しています。
現在の設定について説明します。現在、ソース管理にTeamFoundationServerを備えたTFSBuild2010を使用してCIをセットアップしています。
多くの開発者がローカルマシンで作業し、TFSサーバーにチェックインします。定期的に単一サーバーの開発環境と、2台のサーバーを備えた負荷分散されたqa環境にデプロイします。現在のプロセスには、次のカスタムアクションの一部を実行するmsiのインストールが含まれます。
- app_offline.htmファイルを使用して現在のアプリをオフラインにします
- データベーススクリプトで実行(ソリューションのデータベースプロジェクトから)
- web.configを変更します(qaのWebサーバーごとに異なります)
- コードにラベルを付ける
- httpリクエストを介してデプロイされた各ファイルをウォームアップします
- 等
これが現在のプロセスです。ここで、いくつか変更を加えたいと思います。まず、msiに代わるものが必要です。somの調査から、IISを介したWeb展開と、MsDeployの使用が最良の代替手段であると私は信じています。Web構成の変更にWeb構成変換を使用できます。これは正しいですか?もしそうなら、私がしなければならないことの概要を知ることができますか?
次に、TFSBuildを介して継続的デリバリーを設定したいのですが、これをどのように実現できるかわかりません。現在の設定に統合する方法の概要を把握することはできますか?チェックイン主導ではなく、チェックイン後にユーザー主導で実行したいと思います。また、これをソリューションのデータベースプロジェクトのデータベーススクリプトで実行することもできますか。
最後に、本番環境もありますが、これを手動でデプロイしたいと思います。プロセスで、手動でインストールできるアーティファクトも生成できますか?
plugins - ビルドファイルをWindows共有にコピーするJenkinsの問題
私はジェンキンスの初心者であり、最終的にジェンキンスを使用して成功したビルドを作成しました。jenkins-CIFS パブリッシャー プラグインをインストールして、この「jar」ファイルを元の場所から別の Windows サーバー (server1) に移動しました。
CIFS 共有を作成し、構成を正常にテストしました。ビルド後のステップとして、「ファイルをウィンドウ共有に送信する」オプションを追加しようとしています。
問題は、jar ファイルのソースの場所を一般化する方法がわからないことです。
私のjarの場所は C:\Documents and Settings\username.jenkins\jobs\web-application\modules\com.app$drup\builds\2012-09-25_23-23-45\archive\drup.jar です
ビルド後のステップとして、最新の jar (日時に関係なく) を他の Windows サーバーに移動したいと考えています。
また、(可能であれば)ジェンキンが最初にWindowsサーバーに接続する必要があります。次に、既存の drup.jar の名前を変更します。次に、新しく作成した drup.jar を Windows サーバー (server1) にコピーします。
誰か助けてください。
continuous-integration - 展開が遅いアプリケーションが正しく展開されているかどうかを判断する方法は?
アプリケーションをビルドする Jenkins プロジェクトがあり、成功した場合はアプリケーションをテスト環境にコピーし、Tomcat サーバーを再起動します。Tomcat の起動には約 90 秒かかります。ステージング環境へのデプロイをトリガーできるように、Tomcat の起動が成功したかどうかを自動またはプログラムで確認するにはどうすればよいですか? 監視できる監視 URL がありますが、これを Jenkins に実装する方法についての手がかりがありません。
azure - github から Azure Web サイトに発行するときに、テストを自動的に実行しますか?
Azure Web サイトを TFS にバインドすると、プロジェクトで単体テストを実行するようにビルドを構成できます。ただし、github から公開する場合、同様のオプションが見つからないようです。何か不足していますか?
私のサイトは正常に公開されていますが、ログに表示されている情報に基づいて、テストが実行されていないと確信しています。私の未執筆の本では、継続的インテグレーションでは、ビルドを本番環境にプッシュする前に、すべてのテストを実行して合格する必要があります。
asp.net-mvc - TFS2010 msbuild msdeploy Unauthorized エラー
以下の問題に関するガイダンスやアドバイスをいただければ幸いです
ステージング サーバー (継続的な展開) にビルドを展開するために、TFS2010 以下の msbuild パラメーターを使用しています。次のような必要なすべての構成を行いました
管理サービスの委任
管理サービス
ファイルシステムのアクセス許可
IIS マネージャーのアクセス許可
msbuild パラメーター
以下のエラーがあります。それを解決する方法は?リンクから https を削除し、verbosity パラメータを使用して詳細なエラーを表示するにはどうすればよいですか。
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0 \Web\Microsoft.Web.Publishing.targets (3588): Web 配置タスクが失敗しました。(リモート エージェント (URL
https://stagingserver:8172/msdeploy.axd?site=cddemo
) に接続できませんでした。確認してくださいリモート エージェント サービスがターゲット コンピュータにインストールされ、開始されます。サイト名、ユーザー名、およびパスワードが正しいことを確認してください。問題が解決しない場合は、ローカルまたはサーバー管理者に連絡してください。エラーの詳細: リモート エージェント (URLhttps://stagingserver:8172/msdeploy.axd?site=cddemo
) に接続できませんでした。リモート エージェント サービスがターゲット コンピュータにインストールされ、開始されていることを確認します。サポートされていない応答を受け取りました。応答ヘッダー 'MSDeploy.Response' は '' でしたが、'v1' が予期されていました。 リモート サーバーがエラーを返しました: (401) 権限がありません。