始めたばかりに適したこのホワイトペーパーでは、簡単に理解します。偉大な神は読んでいません。ハハ。。。
私たちは、展開を完了するために、自動展開ジェンキンス、ボタンを使用する場合。しかし、多くの白も、何が特定のボタン操作の下で行われていたことを知っている必要があります。
この記事は主にシェルスクリプトに関係しているので、ジェンキンス部分は単純です。ボタンを押しジェンキンス建物は、おそらく操作手順は以下のとおりです。コンパイラパッケージは - シェルスクリプトを実行> - >指定されたサーバに送信します。
私たちは、シェルスクリプトの例を見てみましょう。
APP_NAME = lbccrm.jar P_ID = ` psの -ef | grepを javaの| grepの $ APP_NAME | AWK ' {$ 2印刷} ' '。 エコー " ######## $ SERVICE_NAMEプロセスのpidは次のとおりです。$ P_ID ######## " であれば [ " $ P_ID " == "" ]; その後、 エコー 「######## $ SERVICE_NAMEプロセスが存在しないか、ストップ成功######## 」 他 エコー " ######## $ SERVICE_NAMEプロセスを殺す開始し、pidは次のとおりです。$ P_ID ######## 「 キル - 9 $ P_ID Fiの スリープ 2 current_dir = $(CD ` dirnameに $ 0 `; PWD ) エコー " ######## current_dirがある:$ current_dir ######## " nohupを /データは/ opt / jdk1。8 .0_181 / binに/ javaの-jar $ current_dir / $ APP_NAME> $ current_dir / lbccrmlog。ファイル 2 >&1& エコー " ######## $ APP_NAMEが成功########です"
次に、このスクリプトは、特にすべてで何を行っています。いくつかのコードの知識、人が学んだことがない場合でも、シェルスクリプトは、半分を読み取ることができるはずです。ここで私は、単にそれは実際には非常に簡単ですが、それを見ていきます。
= APP_NAME lbccrm.jar定義された変数
PS = `P_ID -ef | grepのジャワ| grepのAPP_NAME $ |のawk '$ {2}を印刷し' `;我々のアプリケーションPID取得
echoコマンドは、出力テキストです
IFは、[ "$ P_IDは" == ""];その後、 エコー"$ ######## SERVICE_NAMEプロセスがない########成功またはSTOP" EXISTS 他に エコーを「####### $ P_ID ########」:キルの$ SERVICE_NAMEの#begin、PIDされているプロセス のkill -9 $ P_IDの Fi回線
プログラムを殺害した後P_IDを見つけたことを意味します
= $ current_dir(CD `$ 0 'をDIRNAME; PWD )カレントディレクトリを取得します
nohupを/data/opt/jdk1.8.0_181/bin/java -jar $ current_dir / $ APP_NAME> $ current_dir / lbccrmlog.file 2>&1&再起動の手順