問題タブ [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.
tomcat - データベースの変更管理を備えた継続的導入ツール
SVN と Bamboo を使用して継続的インテグレーションをセットアップしました。
成果物 (.war) を取得し、それらをさまざまな環境にデプロイするツールが必要です。
要件は次のとおりです。
- Tomcat のサポート
- Windows Server 2008
- データベースの変更管理のサポート
- 設定サポート。
展開では、アプリケーションとデータベース、および構成の変更を多数の異なるクライアント インスタンス (異なるデータベースを使用) に展開する必要があります。
私はこれを LiveRebel で設定しましたが、料金体系によって必要なことを実行できないと思います (つまり、多数のクライアント サーバー = 多数のエージェント)。
他の誰かが同様の設定をしており、別のツールを使用していますか?
java - モジュラー Maven プロジェクトのモジュール バージョン情報をデプロイ/取得するにはどうすればよいですか?
mvn:releaseバージョン管理と scm タグを処理するためにプラグインを使用しているモジュラー Maven プロジェクトがあります。各リリースの後、すべてのモジュールとルートpom.xmlがアーティファクト リポジトリにデプロイされます。後でそこから取得できるようにしたいと考えています。私の問題は、アーティファクトがリポジトリにデプロイされるとすぐにバージョン情報が失われることです。どのバージョンのモジュールが親の特定のバージョンを構成しているかを知る方法はありません。事業。もちろんscmタグをチェックアウトしてリビルドするだけでもいいのですが、それではもったいないので他に方法はないかと考えていました。ビルド中に実行してバージョン情報をテキスト ファイルに保存する簡単なスクリプトを簡単に作成できました (実際に作成しました)。ルートpom.xml。
何か案は?
git - GitLab CI による継続的デリバリー
GitLab CI を使用して継続的デリバリーを実装する方法について頭を悩ませようとしてきましたか?
CD について私が読んだすべてのソリューションは、マルチステップ パイプライン (Jenkins など)、または Webhook をリッスンし、デプロイ用の独自のインターフェイスを提供するカスタム アプリケーション (たとえば、GitHub の HuBot + Heaven + Janky) に依存しています。
マスター ブランチで CD を実行することのみに関心があり、テスト スイート/デプロイの手順が非常に高速である場合は、GitLab CI によって実行されるシェル スクリプトの一部として単純に含めることができます。スイートは高速ではありませんか?それとも、パッケージのダウンロードなどに数分かかることがありますか? 次に、CI ランナーは作業に忙殺されます。
私が思いつく最善の解決策は次のとおりです。
- GitLab および GitLab CI から Web フックを受け入れる Web アプリケーションを作成し、作成された個々のコミットとビルド ステータスを追跡します。
- 渡された Webhook ごとにステージング サイトへの配信を試みる独自のカスタム ランナーを起動します。アプリケーションは、展開/ロールバックを容易にするために、たとえば fabistrano を使用できます。
- すべてのテストに合格した GitLab で受け入れられている master にマージするためのマージ リクエストをリッスンします。
何かご意見は?GitLab CI で CD を実装した人はいますか?
javascript - JsHint を使用した Strider Build が「プル リクエストではありません。JSHint' をスキップする
私は Strider でビルドしており、JsHint をビルドに統合しました。
ビルド Strider を実行すると、「プル リクエストではありません。JSHint' をスキップする
このメッセージの原因について何か考えはありますか?
ありがとう、
ニック
github - ビルド パイプラインで古いリリース ブランチを削除する (Jenkins)
Jenkins ビルド パイプライン プラグインを使用しています。当社の継続的デリバリー戦略はまさにそのようなものです。
- チームがコードをプッシュし、Jenkins の最初のジョブがトリガーされます....
- 新しいリリース ブランチが作成されました。
- パッケージ化と単体テストが成功した場合。それから
- リリース ブランチを github にプッシュするか、ローカルに作成されたブランチを削除します。
- アーカイブされたアーティファクトと....
- ....
私の参照: https://www.youtube.com/watch?v=McTZtyb9M38
ステップ 4 で見られるように、すべてのジョブ トリガーが新しいブランチを作成し、SCM でブランチ 汚染を引き起こします。
SCM (Github) から古いブランチを削除するにはどうすればよいですか? Github に少なくとも 5 つの最新のブランチを保持したいです。
注 : すべてのビルドを本番環境にデプロイするわけではありません。