問題タブ [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.
java - 基礎となる jar が置き換えられると Java プログラムがクラッシュする
私は、その仕事をしている単一の .jar に含まれているソフトウェアを持っていますが、残念ながら、この jar の現在実行中の実行がある場合、.jar ファイルを中央の場所に置き換える必要があるバグ修正をすばやくプッシュする必要がある場合があります。ファイルを置き換えると、「クラスが見つかりません」というエラーでクラッシュします。jarファイルが実行されると、JVMはそれをメモリにキャッシュし、ディスクからの読み取りを行わないと思いましたが、明らかにそうではありません.どうすれば(可能であれば)これを修正できますか?
編集:
アプリケーションは Web ベースではありません。通常の Java SE です。
chef-infra - ナイフを使用して ChefServer からロールとクックブックをダウンロードする
Chef Server Management Console を使用して Chef を使い始めたので、ファイルの使用を開始し、knife 経由でアップロードしたいと考えています。ナイフを介してChefServerに保存されている役割と環境を取得する方法はありますか?
sql - SQL ベースのアプリを継続的に配信する方法は?
私たちが構築しているWebアプリに継続的配信の概念を適用しようとしていますが、偶発的な誤ったコミットからデータベースを保護するための解決策があるかどうか疑問に思っています. たとえば、単一のレコードではなくテーブル全体を消去するバグ。
この問題の影響は、アプリケーションがインフラストラクチャのセグメントに徐々に展開される継続的デリバリーのドクトリンに従って、どのように制限できますか?
何か案は?
jenkins - jenkinsへのOSGiベースのアプリケーションの継続的デプロイ
OSGiベースのアプリケーションの場合に継続的デプロイを機能させる方法を理解するために数時間を費やした後、私はついにスタックオーバーフローに関する最初の質問を提起し、私が間違ったことや見逃したことについてのいくつかの兆候を期待しています-どういうわけか間違った方向に進んでいるように感じます...
これが私が達成したいことです:
いくつかのバンドルをビルドし、それらをMavenリポジトリにインストールします(ここでは問題ありません。bndを使用します)
これで、アプリケーションを構成するすべてのバンドル(すべてのテストに合格するなど)ができたので、アプリケーションをデプロイして実行します。つまり、それらのバンドルを使用してOSGiフレームワークを起動します。
開始は問題ではありません-「mvnpax:provision -Dframework=equinox」がトリックを行います。私のアプリケーションはjettyを起動するので、ブラウザーを介して問題がないかどうかを簡単に確認できます(すべてのテストに加えて)
しかし、今、「継続的」であることを試みて、次にこの手順を適用したいときは、最初にアプリケーションの実行中のインスタンスをシャットダウンすることを確認する必要があります(少なくとも使用されているポートを解放します)。したがって、すべてを再実行するには、最初に古いインストールをシャットダウンする必要があります。
そして、これが私の質問の始まりです。これを手伝ってくれるものはありますか?maven-deploy-pluginがあることは理解していますが、これはWAR / EARファイルを標準のアプリケーションコンテナーにデプロイする場合にのみ役立つようです(再起動する必要はないようです)。
私は本当にOSGi環境を起動するためにいくつかのスクリプトを実行する必要があるだけです-そして次に、それを再び起動する前にそれを正常にシャットダウンします。tomcat、jetty、jbossなどには、shutdown.shスクリプトまたはmvn jetty:stop命令がいくつかありますが、これらの種類のスクリプトを自分で作成する必要がありますか?これは私が間違った方向に進み始めていると思うところです、誰かが私の前にそれらの問題を抱えていて、私が推測するそれらを解決したに違いありません;)
どういうわけかJMXを使用するか、telnetコンソールを使用して実行中のインスタンスにアクセスして「stop0」コマンドを発行できることを理解しましたが、これは間違っていると感じます。
jenkinsから開始されたプロセスは、プロジェクトをコンパイル/ビルド/デプロイする必要がありますが、実行時間の長いスレッドは開始しないと思います。そのため、次に再試行するときに最初に強制終了したいプロセスを「外部」で開始する必要があります。
何か案は?多分私は何かが欠けていますか?これに関するご意見をよろしくお願いします!
ios - iOS での展開の自動化?
Java サーバー側 + iOS パッケージ ファイルを処理する 1 つの統合ツールを使用して展開の自動化を作成した経験のある人はいますか? Hudson/TeamCity のような継続的インテグレーション エンジンにプラグインする機能は必須です。また、TestFlight などのツールとの統合も望まれます。
UrbanDeploy、Nolio などのツールに相当するものを探しています。ここで利用可能で使用されているオープンソース ツールはありますか?
乾杯、サビンダー
deployment - さまざまなプラットフォーム、ミドルウェア、テクノロジーに対応した継続的デプロイ ツールと、メトリックとレポート機能
UrbanCode uDeploy、Noliosoft ZeroTouch、および XebiaLabs Deployit に匹敵する継続的デプロイ ツールは何ですか? アプリをデプロイしようとしている環境は、マルチ OS (Linux、Windows Server)、さまざまな種類のミドルウェア (Websphere、Weblogic、Jboss、Tomcat、Apache、IIS、BizTalk)、さまざまなデータベース (Oracle、MySQL、MSSQL) です。さまざまな種類のアプリケーション パッケージ (.war、.jar、.conf、.xml、.zip、.exe、.msi) が含まれます。また、Maven リポジトリの代わりにファイルシステムからプルしています (ただし、将来的には Maven と統合する必要があります)。Maven-cargo デプロイメント プロセスを構築しましたが、デプロイメント エンジニアはメトリック収集機能を備えた GUI ベースのツールを望んでいます。Webistrano の展開を試みましたが、.NET、IIS、および .msi の展開を正しく機能させることができません (これらのプラットフォーム向けではないことはわかっています)。Red Hat JON を使用していますが、Windows への展開はできません。SCCM? グルー?オクトパスデプロイ? クワティ?
python - コードとデータベースを一度に提供する
ファブリックを使用して新しいバージョンのコードをサーバーにアップロードすると、いくつかのタスクが実行され、古いバージョンではなく新しいバージョンが提供されます。
これらのタスクの中には syncdb もありますが、これは、古いデータベース テーブルを含む新しいコード バージョン (または、新しく同期されたデータベースを含む古いコード バージョン) があるウィンドウがあることを意味します。
質問: データベースを手動でコピーし、コピーと同期してから、古いコード バージョンと元のデータベースを一度に置き換える必要がありますか?
これは非常に一般的な問題のように思えるので、この問題に対するツールまたは特定のアプローチが既にあるはずだと思います。誰か知っていますか?
(私のもう1つの懸念は、展開中に何かがうまくいかない可能性があることです。コードと同期されていない壊れたデータベースを持たずに、以前の状態にフォールバックしたいと思います)。
ruby-on-rails - Heroku Rails アプリ内から「最後にデプロイされた」タイムスタンプを表示するにはどうすればよいですか?
現在アクティブなデプロイの時間を追跡するために、環境変数または何かを更新したいと思います。Heroku のアプリ内からこれを自動的に行う方法はありますか?それとも、デプロイ スクリプトの一部として行う必要がありますか? 理想的には、CI に TDDium を使用して動作し、ビルドが成功したときに Heroku にプッシュしてくれるものが欲しいです。
deployment - Jenkins ジョブを使用して、複数の war を複数のリモート コンテナーにデプロイする
こんにちは、Jenkins を使用してビルドし、リモート コンテナーにデプロイしています。現在、私の Maven ジョブは、1 つの親 pom を介して 5 つの webapps を構築し、すべての war を 1 つのリモート コンテナーにデプロイします。
現在、単一のリモートコンテナに戦争を展開できる展開プラグインを使用しています。
ここで、各戦争を別のリモート コンテナーに入れたいと考えました。利用可能なプラグイン、または各 war ファイルを展開する場所を指定するために使用するスクリプトを教えてください。
ありがとう
hudson - Nexus と Jenkins を使用して継続的デプロイを実装する方法
継続的展開システムを実装しようとしていますが、私たちの問題に対する適切な答えを見つけることができないようです。Jenkins を使用して Maven ビルドを実行し、アーティファクトを生成して Nexus にデプロイします。すべてを 1 つの war ファイルまたは tar ファイルにまとめて、Nexus から名前で要求ごとに 1 つのファイルを抽出し、それをアプリケーション サーバーに展開するプロジェクトをいくつか見ますが、これには、利用可能なバージョンを事前に知っておく必要があります。私のプロジェクトには、アプリケーション サーバーを使用してデプロイされない他のアーティファクトの中でもかなりの数の jar/wars/binary があります。私たちがやりたいことは、ソフトウェアのスナップショットまたはリリース リビジョンを nexus から引き出して、インストール パッケージを生成するか、リモート サーバーに直接配信できるようにすることです。
明確化: QA または開発で Jenkins からバージョンを選択できるようにしたい。ここで、Jenkins は利用可能なバージョンについて Nexus をポーリングし、Nexus からサーバーへの自動デプロイを実行します。
ソフトウェアをテストシステムに渡すための簡単なネクサス/Mavenの方法はありますか?
では、nexus をポーリングして、ant/ivy、Jenkins、maven、gradle を通じて利用可能なリビジョンを判断する方法はありますか? 何か参考になれば書きます。
同様の質問がここで尋ねられたことがわかります: Hudson / Jenkins ジョブで Nexus からアーティファクトを選択するにはどうすればよいですか? 、しかし、9か月後の時点ではまだ回答がありません。