4

Jenkins を使用して RPM パッケージを作成し、コードとスクリプトを Linux redhat マシンにデプロイしたい アプリケーションはさまざまなテクノロジーを組み合わせたものです (コンパイルは必要ありません) アプリケーションをパッケージ化して正しい場所にデプロイするだけです 再起動しますアパッチ

完全な初心者のためにこれらの手順を実行する方法について、誰かがいくつかの指示を持っていますか?

いくつかの質問:

  1. Linux RedHat マシンにデプロイされる RPM を作成する場合、ローカルの Linux マシンにジェンキンをインストールする必要がありますか (Windows にジェンキンをインストールしたいと思っていました)。

  2. ローカル フォルダーからパッケージを作成する例はありますか (現時点ではソース管理はありません)。コードを取得するディレクトリを指定し、rpm が存在するマシン上のコードをデプロイする場所を指定したいだけです。にインストール

  3. 宛先マシンで yum -install mypackage-version12.rpm のようなものを実行すると、指定したディレクトリにコード/スクリプトがインストールされ、Apache が再起動されます。この例も必要です。

ありがとう

4

2 に答える 2

2
  • Jenkins を別のマシンにインストールすることもできますが、通常は、RPM パッケージを生成できるマシンに Jenkins の「ノード」、「スレーブ」、「エージェント」をインストールする必要があります。

  • RPM パッケージのセットアップの各ステップを実行すると、ビルドするすべてのステップが Jenkins 内に配置されます。ビルド システムを拡張して RPM をビルドし、Jenkins に最適な機能を実行させ、ビルドを管理 (スケジュールなど) し、ビルドを細かく管理 (手順を実行) しないようにすると、はるかにうまく機能します。

ビルド システムとして現在持っているものに応じて、これには、rpm ビルド ツリーをセットアップするための ant ディレクティブ、.specファイルへのコピー、および rpmbuild への実行可能な呼び出しが含まれる場合があります。

  • Jenkins はこれを行うためにビルド後のタスクを簡単に呼び出すことができます。または、好みに応じて、更新を行うミニ「偽の」プロジェクトを構成することもできます。

余談ですが、 --localinstall オプションを使用せずに yum コマンドを機能させるには、Web サーバーをセットアップし、新しい RPM を Web サーバーの適切なフォルダーにコピーし、インデックス ファイルを再構築する必要があります (repobuild は私が正しく思い出せば、そうするためのスクリプト)。

クライアント マシン (パッケージがインストールされる場所) では、既知の yum リポジトリの 1 つとして Web サーバーを含めるようにクライアント マシンに指示する yum 構成が必要です。

于 2012-06-19T15:54:12.167 に答える
0

専用ステージを介して、Docker イメージを使用してその中に RPM を構築してみませんか? コードは /rpm/SPEC ファイルを提供する必要があり、Docker (Jenkins) 内に次のような Jenkinsfile を含めることができます。

mkdir -p ./rpm/BUILD && cd ./rpm/ && for f in ./SPECS/*; do rpmbuild --define \"_topdir \$(pwd)/\" --define \"_builddir \$(pwd)/BUILD\" -bb \$f;

これで完了です。

于 2021-02-08T12:20:40.540 に答える