問題タブ [continuous-delivery]
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.
ios - 継続的インテグレーション環境での iOS App Store リリース
現在、iOS の継続的インテグレーションのために、独立したサーバーで Jenkins を使用しています。Jenkins は、アドホック デバイスからアプリをダウンロードできるように、HTML リンクをビルド、テスト、および作成します (継続的デリバリー)。
App Store のリリースを作成するときはいつでも、必要なビルドのコードを取得し、それからビルドを作成します。これには問題があります。コードは同じですが、2 つの異なるマシンが関係しているため、バイナリが同じであるとは限りません。
通常、継続的インテグレーションではリリースは非イベントであるべきだと読みます。これは日常のビルドではうまくいきますが、継続的インテグレーション環境で App Store をリリースするための最良のアプローチは何ですか?
java - スケジュールされたジョブを Java で管理する
Java で複雑な Web アプリケーションを使用しています。を含む:
- Maven によって保存および管理されるさまざまなライブラリ モジュール
- クラウド内の多数のサーバーにスケーリングする Web モジュール
- データベース: sql + nosql
- データベースを操作するためのさまざまなスケジュールされたジョブ。
このスケジュールされたジョブを開発および管理する方法についてアドバイスが必要です。私の要件:
- Web層はAmazon ec2 insansesで自動的にスケーリングされるため、ジョブはWebモジュールから分離する必要があります。
- 一部のジョブはお金を扱う非常に重要な作業を行うため、ジョブの結果、ジョブの状態、ログなどを監視するための非常に優れたツールが必要です。非常に迅速な修正プログラムを作成する機能と、停止\開始\キャンセルする機能が必要です (フリーズした場合)何らかの理由で)特定のジョブをリアルタイムで個別に実行します。
- すべてが正常に機能する場合、継続的デリバリー (CD) を使用する必要があります。つまり、ジョブは CI サーバー上に構築され、test\production サーバーに自動的にデプロイされます。スケジュールされた時間の構成もバージョン管理下にある必要があります。
私はいくつかの解決策を見ました:
- obsidianのようなジョブサーバー。このようなモンスター ソリューションを使用するのは良い考えだとは思わないでください。
- クォーツ。要件番号 2 と 3 をマージする簡単な方法が見つかりません。Quartz を使用すると、ジョブをリアルタイムで管理したり、ジョブ用の優れた CD ビルドを作成したりできます。一緒じゃない。多分私は何かが恋しいですか?
- すべてのライブラリを使用してジョブ jar を宛先サーバーにデプロイし、スクリプトを実行します。そのスクリプトを cron から実行します。このソリューションは醜く見えます。まず、CI プロセスをクリーンに維持するために、デプロイのたびに CI サーバーからすべてのライブラリを test\production サーバーにデプロイする必要があります。第二に、それはまったく良い考えだとは思いません。私は何かが恋しいと本当に思っています。この通常の問題には良い解決策があります。
アドバイスをいただけますか?通常、開発者は CD プロセスでスケジュールされたジョブをどのように管理しますか?
jenkins - Jenkins によるテストの並列化
統合テストに Jenkins を使用しています。
文脈を与えるだけです。現時点では、毎日ビルドを生成する別のビルド サーバーがあり、Jenkins はビルド サーバーとして使用されていません。私の場合、ビルドサーバーは単体テストを実行します。
ビルド プロセスが完了すると、Jenkins ジョブが呼び出されます。そのジョブで、Jenkins はビルドを仮想マシンにデプロイし始めます。これを行うためのスクリプトがあります。
それに続いて、私の計画は、エンド ツー エンドのテストを行うためにいくつかのスクリプトを実行することです。
この点に関して、いくつか質問があります。
- エンド ツー エンド テストの実行を並列化する方法は?
- スクリプトを次から次へと追加しているので、どれだけ管理しやすいか心配です。
- スクリプトの追加と変更には常に Web インターフェイスを使用しています。コマンドラインからこれを行う方法は?
良いチュートリアルのアイデアはありますか? みなさんから何か指摘はありますか?ありがとう!
Build Flow Plugin が必要なようです。 https://github.com/jenkinsci/build-flow-plugin
chef-infra - マルチノード SOA アプリケーションの構成管理
したがって、これは今日のソフトウェアでは一般的な問題のようです。多くの企業は、AWS、Azure、Heroku などのクラウド プラットフォームで解決しているようです。ただし、プライベート クラウドを必要とするデータ セキュリティの場合、選択肢はあまり開発されていないようです。
詳しく説明すると、私の特定のニーズは、ノード (物理/仮想サーバー) に依存しないアプリケーションを管理することです。現在、Chef を使用していますが、これはこのタスクには理想的とは言えません。Chef では、環境内の個々のノードごとに実行リストを作成する必要があります。明らかな理由で同じノードにインストールしたくない多くの異なるサービスに依存する SOA アプリケーションがある場合、Chef はそれを提供できません。私は手動でそれをしなければなりません。すべての依存関係を内部的に文書化する必要があり、各ノードの実行リストを作成するときに、何がどこに行くのかを誰かが決定する必要があります。マルチノード タイプの構成オプション (環境変数以外) や、多くのノードにサービスをインストールするための自動化された方法はありません。
これは非常によくある問題のように思えるので、何かが足りないだけだと思わざるを得ません。Chef よりも簡単にプライベート クラウドで SOA アプリケーションを管理できるツールが世の中にあるはずです。
そのようなツールを知っている人はいますか?Chef がとても人気があるのに、この機能がないのはおかしいと思います。私は Puppet やその他のツールが存在すると仮定したいのですが、Chef とは異なり、それを使用しようとする前に事前に知っておきたい.
シェフの言葉で私が欲しいものを要約するには:
アプリケーションをカプセル化する環境にマップされるロールが必要です。個々のノードではなく、THE ENVIRONMENT でインストールを実行したいと考えています。内部的には、構成管理ソフトウェアは、どのノードに実際にサービスをインストールするかについて何らかの情報に基づいた決定を行い、それに応じてそのサービスの依存関係を更新します (たとえば、環境変数を介して)。
言い換えれば、プライベート クラウドでホストされる SOA アプリケーションの CD を CD にしたいと考えています。私がChefで持っている半手動の、ほとんど連続的ではない配信ハックではありません。
また、opscode の関係者 (またはシェフのファン) がいる場合は、Chef が提供する機能をすべて使用していない可能性があることをすぐに認めます。
また、サーバーはすべて Windows 2008 R2 または Windows 2012 です。
azure - TFVC と Azure を使用して、各コミット後にライブ サイトを自動的に更新できますか?
コミットごとに、TFVC と Windows Azure を使用して、コミットされたコードを含むライブ バージョンが必要です。
開発者が何かをコミットした場合、dev.mysite.com でテストできるようにしたいと考えています。Azure と TFVC を使用してこれをセットアップするにはどうすればよいですか?