jenkinsfileまたはpiplineマイクロパブリッシングサービスの自動ロールバック処理を実施します


。1
!は/ usr / binに/ GroovyのJenkinsfile ENV 2 ノード{ 3 // サービス名 。4 DEF SERVICE_NAME = " ** " 。5 // パッケージ名 。6 DEFの service_bag_name = " **。JAR " 。7 // 記事のライブラリディレクトリ 。8 service_product = " /データ/サーバ/ ** /プロジェクト・デモ" 9。 // 作業ディレクトリ 10回の ワークスペース= " /データ/ ** / ** - SERVICE_NAMEの$ {} " 。11 12である のIF(choice_status == "delop " && choice_build_number == " " ){ 13がされて // gitのの引き上げ/ Mavenのコンパイル/ アーカイブは終了 14 ステージ(' ビルド' ){ 15 // ライブラリの記事を作成します。 16の WS(" /データ/サーバ/ jenkinsworkspaces / pipline-デモ' ){ 17。 // いくつかのブロック 18である // Gitの支店コードを引っ張る 19。 gitのブランチ:' テスト 'credentialsId: ' ** 'URL: 'http://gitlab.lalala.cn/**/**.git ' 20はある // Mavenのコンパイラ 21である SHラベル:' Mavenのコンパイラ'スクリプト:' インストール/データ/サーバ/ Mavenの/ binに/ MVNクリーン" 22です / / 完成アーカイブ、投稿しやすい開発の検証が可能な完成したパッケージである 23である archiveArtifactsアーティファクト:" ** /ターゲット/ service_bag_nameの$ {} " 、onlyIfSuccessful:trueに 24 } 25 } 26です // 生成品 27 ステージ(" アーティファクト" ){ 28 エコー" env.JENKINS_URL {ON $ {} env.BUILD_ID} $を実行する" 29を // ライブラリ記事作成 30 DIR(" $ {service_product} / {$のSERVICE_NAME} / {env.BUILD_ID} $を" ){ 31がある // 何らかのブロック 32 WRITEFILEファイル:ダミー、テキスト:「」 33である } 34がある // ファイルは完成品のライブラリに格納されている 35 // ファイルストレージデータベースに完成品によって、省略する 36 } 37 38である (ステージ試験){ 39は エコーテスト... 40 エコー$ {}ワークスペース 41れる // ここでは省略し、製品が利用可能であるかどうかを確認するために、完成した文書ライブラリ 42は } 43であり、 44である 段階(展開){ 45は エコーデプロイを.... " 46 // 1は、ファイルライブラリ製品は、サーバーのディレクトリサービスに送信scpコマンドの実行方法により、公開する必要があります検索 47 // 2 。記事のライブラリはジェンキンス経由でファイルを公開sednのsshの方法を介してアーティファクトを構築する必要があります検索しますサービスディレクトリを実行しているサーバーに送信 48 } 49 50 } そう であれば(choice_status == " ロールバック" && choice_build_number!= "" ){ 51 ステージ(" ロールバック" ){ 52 エコー" rollbacking .... " 53 エコー" $ {SERVICE_NAME} " 54 エコー" $ {} service_bag_name " 55 エコー" $ {} choice_build_number 56 SHラベル:' 查找成品文件'、スクリプト:「」」LS -lh $ {service_product} / $ {SERVICE_NAME} / $ {choice_build_number} ""」 57 } 58 59 } 60 }

コードの一部が省略されている、あなた自身の脳を作る、サービスの起動スクリプトは、一時的に本明細書中に記載の、自分自身を記述する必要があります。

 

  

おすすめ

転載: www.cnblogs.com/ipyanthony/p/10966388.html