Jenkinsはwarバッグを展開して、jarバッグの詳しい手順を展開します。


ゼロ、Tomcatの配置
デフォルトではTomcatはユーザーの役割を設定する権限がありません。
在这里插入图片描述
在这里插入图片描述
ただし、引き続きJenkinsがTomcatサーバにプロジェクトを展開するには、Tomcatを利用するユーザーが必要ですので、tomcat以下の構成を修正し、ユーザーと権限を追加します。

vi /opt/tomcat/conf/tomcat-users.xml
#     :
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/> 
ユーザとパスワードは、tomcatです。先ほど設定したユーザがTomcatにログインできるように、以下の設定を変更する必要があります。
在这里插入图片描述

vi /opt/tomcat/webapps/manager/META-INF/context.xml
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
   allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
#           !
在这里插入图片描述
Tomcatを再起動して、テストにアクセスします。
在这里插入图片描述
tomcat tomcatを入力します
在这里插入图片描述
Tomcat証明書の配置
在这里插入图片描述
一、フリースタイルプロジェクトの遠隔配置warバッグ
1.フリースタイルのアイテムを作成する
在这里插入图片描述
2.構築手順を追加する
コンパイルパッケージ
在这里插入图片描述
3.構築後の操作を追加する
遠隔配置
在这里插入图片描述
4.直ちに構築する
在这里插入图片描述
5.コンソール出力を確認する
在这里插入图片描述
二、流水線プロジェクトを創建し、遠隔にwarバッグを配置する。
項目選択はPipeline で、
  • 概念
  • Pipelineとは、簡単に言えば、Jenkinsで実行されるワークフローのフレームワークのセットであり、単一または複数のノードで独立して実行されます。
    のタスクを接続し、複雑な流れの編成と可視化を実現します。
  • Pipelineを使用すると以下の利点があります。
  • コード:Pipelineはコードの形で実現されています。通常はソースコードの制御を受けて、チームが編集できます。審査と反復を行います。持久:計画内であれ、計画外のサーバーを再起動しても、Pipelineは回復できます。停止可能:Pipelineは、Pipelineを継続するかどうかを決定するために、相互入力を受信することができます。多機能:Pipelineは現実世界の複雑な持続的な納品要求をサポートします。fork/join、循環実行、並行してタスクを実行する機能をサポートします。拡張可能:Pipelineプラグインは、DSLのカスタム拡張をサポートし、他のプラグインと統合された複数のオプションをサポートします。
  • はどうやってJenkins Pipelineを作りますか?
  • PipelineシナリオはGrouvy言語で実現されますが、Grouvyを単独で学ぶ必要はありません。
    Pipelineは2つの文法をサポートします。DeclarativeとScriped Pipeline(スクリプト)文法
    Pipelineには、JenkinsのWeb UI画面に直接スクリプトを入力できる2つの作成方法があります。Jenkinsfileスクリプトファイルを作成することによって、プロジェクトのソースライブラリに入れることもできます。
    PipelineプラグインManage Jenkins->Manage Plugins->オプションプラグインをインストールします。
    プラグインをインストールした後、プロジェクトを作成する時に「ライン」の種類が多くなりました。
    在这里插入图片描述
    1.コードの引き出し
    git倉庫を設定し、 をクリックしてください。
    在这里插入图片描述
    在这里插入图片描述
    ラインスクリプトを生成するにはクリックしてください。
    在这里插入图片描述
    2.ビルドコンパイル
    
    pipeline {
     agent any
    
     stages {
      stage('    ') {
       steps {
       checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '614e4281-db76-4388-befc-c50588f5e751', url: 'https://gitee.com/L1692312138/ssm_web_war_jenkins.git']]])
       }
      }
      stage('    ') {
       steps {
        sh label: '', script: 'mvn clean package -Dmaven.test.skip=true'
       }
      }
       stage('    ') {
       steps {
        echo '    '
       }
      }
      stage('    ') {
       steps {
       deploy adapters: [tomcat8(credentialsId: 'a2672517-c02b-4f62-ab3c-e6f70d08b98e', path: '', url: 'http://wangyitong.club:8080/')], contextPath: null, war: 'target/*.war'
       }
      }
     }
     post {
       always {
        emailext(
        subject: '    :${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}!',
        body: '${FILE,path="email.html"}',
        to: '[email protected]'
        )
       }
     }
    }
    在这里插入图片描述
    3.遠隔配置
    在这里插入图片描述
    ラインスクリプトを生成するにはクリックしてください。
    在这里插入图片描述
    
     stage('    ') {
       steps {
       deploy adapters: [tomcat8(credentialsId: 'a2672517-c02b-4f62-ab3c-e6f70d08b98e', path: '', url: 'http://wangyitong.club:8080/')], contextPath: null, war: 'target/*.war'
       }
      }
    完全なスクリプト:
    
    pipeline {
     agent any
    
     stages {
      stage('    ') {
       steps {
       checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '614e4281-db76-4388-befc-c50588f5e751', url: 'https://gitee.com/L1692312138/ssm_web_war_jenkins.git']]])
       }
      }
      stage('    ') {
       steps {
        sh label: '', script: 'mvn clean package -Dmaven.test.skip=true'
       }
      }
       stage('    ') {
       steps {
        echo '    '
       }
      }
      stage('    ') {
       steps {
       deploy adapters: [tomcat8(credentialsId: 'a2672517-c02b-4f62-ab3c-e6f70d08b98e', path: '', url: 'http://wangyitong.club:8080/')], contextPath: null, war: 'target/*.war'
       }
      }
     }
     post {
       always {
        emailext(
        subject: '    :${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}!',
        body: '${FILE,path="email.html"}',
        to: '[email protected]'
        )
       }
     }
    }
    Pipeline Script from SCMプラグインをインストールします。
    先ほどはJenkinsのUIインタフェースでPipelineコードを作成しました。このようにスクリプトのメンテナンスが不便なので、Pipelineスクリプトをアップロードすることをお勧めします。
    プロジェクトのルートディレクトリにJenkinsfileファイルを作成し、内容をこのファイルにコピーします。
    在这里插入图片描述
    2)プロジェクトでこのファイルを参照する
    在这里插入图片描述
    ビルドをクリックしてコンソール出力を確認します。
    在这里插入图片描述
    二、部署jarバッグ
    1.フリースタイルのアイテムを作成する
    プロセス:
    構築後の操作手順を追加して、ssh情報を設定してスクリプトを作成し、パッケージを作成してからスクリプトを実行し、プロセスを停止して起動します。
    2.Publish Over SSHプラグインをインストールする
    Publish Over SSHプラグイン
    在这里插入图片描述
    そして設定ssh
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    3.ビルドステップを追加してパッケージをコンパイルする
    在这里插入图片描述
    4.構築後の操作手順を追加する
    配置プロジェクト-』を追加して構築後の操作手順を選択します。
    在这里插入图片描述
    Source filesプロジェクト構築後のディレクトリ
    Remove prefixプレフィックスに行きます。
    Remote directotyがリリースしたカタログ
    Exec command実行完了命令を発表します。
    在这里插入图片描述
    5.shellスクリプトを作成する
    まずプロジェクト名を通して、実行中のアイテムのポート番号を検索します。存在する場合は、プロセスを殺します。
    項目を再起動します。
    shellスクリプト:
    
    #!/bin/env bash
    
    #PID=`ps -ef |grep      |grep -v grep | awk '{print $2}'`
    PID=`ps -ef |grep 'wxthepublic-1.0-SNAPSHOT.jar' |grep -v grep | awk '{print $2}'`
    if [ ! "$PID" ]
    then #     TOMCAT      
     echo $PID"     "
    else
     echo "         PID$PID"
     kill -9 $PID
    fi
    nohup java -jar 'wxthepublic-1.0-SNAPSHOT.jar' >/dev/null 2>log &
    #                    
    pid=$(ps -ef | grep java| grep 'wxthepublic-1.0-SNAPSHOT.jar'|awk -F '[ ]+' '{print $2}')
    echo $pid
    if [ -z $pid ]
    then
     echo "    "
     exit 1
    else
     echo 'wxthepublic-1.0-SNAPSHOT.jar' : $pid "    "
    fi
    6.直ちに構築する
    クリックしてすぐに構築し、コンソール出力を確認します。
    在这里插入图片描述
    ディレクトリの下にすでに打ったjarカバンがあります。
    在这里插入图片描述
    在这里插入图片描述
    ここで、Jenkinsのwarパッケージの展開とjarパッケージの展開についての詳細な手順を紹介します。Jenkinsのwarパッケージとjarパッケージの詳細については、以前の記事を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。