• Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署


    1|0Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署笔记


    2|0版本控制概念


    • 记录开发文件的时间机器

      • 更好的开发,挽回代码错误带来的损失
    • 分类

      • 本地版本控制系统
        • image-20221116144859326
      • 集中化的版本控制系统 CVS、Subversion(SVN)
        • image-20221116144920126
      • 分布式版本控制系统GIT
        • image-20221116144935992
    • 产品

      • github

      • image-20221116145021836

      • git 纯命令行的软件 服务器&客户端

      • gitlab 私有的git web服务器

    3|0gitlab部署


    gitlab-LOGO

    image-20221116145248200

    • system

      • 支持的类UNIX系统

        • ​ Ubuntu
        • ​ Debian
        • ​ CentOS
        • ​ Red Hat Enterprise Linux (please use the CentOS packages and instructions)
        • ​ Scientific Linux (please use the CentOS packages and instructions)
        • ​ Oracle Linux (please use the CentOS packages and instructions)
      • 不支持的类UNIX系统

        • ​ OS X
        • ​ Arch Linux
        • ​ Fedora
        • ​ Gentoo
        • ​ FreeBSD

    官网链接

    3|1环境准备


    服务器一台:CentOS7

    内存:8G

    CPU:2核以上

    主要是关防火墙和selinux

    3|2Install and configure the necessary dependencies


    sudo yum install curl policycoreutils openssh-server openssh-clients //安装和配置必要的依赖关系
    sudo yum install postfix //安装邮件程序
    sudo systemctl enable postfix
    sudo systemctl start postfix
    sudo systemctl stop firewalld //防火墙关上!
    sudo systemctl disable firewalld

    3|3Add the GitLab package server and install the package


    由于官网安装比较慢,这里直接上传安装包gitlab-ce-9.1.0-ce.0.el7.x86_64.rpm

    链接: https://pan.baidu.com/s/1N0GqYnd5UHXQo0_V9O1YPQ?pwd=gjmb 提取码: gjmb

    //离线安装
    yum -y install gitlab-ce-9.1.0-ce.0.el7.x86_64.rpma
    //官网安装
    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

    3|4Configure and start GitLab


    sudo gitlab-ctl reconfigure //自动配置文件权限,安装数据库….安装的时间会很长!!!

    3|5Browse to the hostname and login


    gitlab服务器的地址:http://server_IP Gitlab占用80端口,访问时直接访问IP就可以(第一次会让你确认root账户登录的密码)

    登陆图示

    image-20221116150835260

    欢迎界面

    创建8位新密码 然后使用root登录即可

    image-20221116150927338

    创建项目

    image-20221116151149939

    推送密钥

    粘贴这个地址,用于下载项目

    image-20221116151312881

    查看秘钥

    ➜ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/echo/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /Users/echo/.ssh/id_rsa
    Your public key has been saved in /Users/echo/.ssh/id_rsa.pub
    The key fingerprint is:
    SHA256:eL/4ra3L1AQpYKy3zQWC+6bec0+vgfUqlqWXiG43Ecg echo@bogon
    The key's randomart image is:
    +---[RSA 3072]----+
    | oo |
    | ..o.. . |
    | + o..o |
    | o E..... |
    | o.+So. . |
    | +.++.+ |
    | o ..*=.o |
    | ..+ X=oB |
    | ..oo=.*@=+ |
    +----[SHA256]-----+
    ➜ cat ~/.ssh/id_rsa.pub
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDh1o1h80mo9ulEP6TvmuCDez5hSXPohewY8gm6x77iF/2gXg6qxtDWxNDSAEwbIrW8kxfWkVpPJBFmTYjjCyI8lbWLf4wt926KLtAt1irBnS3IBt2AZDl1MRllEbl8OvXELnUQo7fnKxfzoYbBE8+fg3fTXd+sxQeMs53U3wcZiz35Sbobd2bMK2HcO7kTsQX8M+pYIzopeMdoeitr0rwAIUWHuxU5jZjfpRX5Qhu+QVM4KGj/bs0eIaY9inho3UQSkZC10vfNFboFnuW3qlUm2ekkPdONokIjiEQOqSbUg6y9eHg9cJaKRfdr+UZ1YuR1MGPtmyuQJ6fRMemaMklc3Zpl0ZF+RrU0mCjXSPuv6ud9aFmuCezoB+g3VEg8mh4lrWCPdSoet9WWP5ns9KAOfK1RRKo4ncrbvrfTUA2iBso+EgP14lZC+0Ay5tYcw/QUe48rezvEOOuNz9jzl3wTAbXj3qP6gO1Z6WW73Ai8GmPxOioQV6pxfk4HLq1fvc= echo@bogon

    上传密钥

    image-20221116151725169

    查看密钥

    image-20221116151753508

    链接地址

    用于命令行,或客户端程序进行下载使用

    image-20221116151840013

    4|0使用gitlab


    4|1图形操作


    上传文件到gitlab

    image-20221116152624079

    image-20221116152745595

    image-20221116152805624

    下载文件到gitlab客户端

    image-20221116152856051

    image-20221116152915123

    4|2命令行操作


    克隆服务器的文件

    [root@web1 ~] yum -y install git
    [root@web1 ~] git --version
    git version 1.8.3.1
    [root@web1 ~] git config --global user.name "root"
    [root@web1 ~] git config --global user.email git@qq.com
    [root@web1 ~] git clone git@192.168.23.26:root/project1.git //把项目克隆到当前服务器上,192.168.23.26 gitlab主机地址

    上传文件

    [root@web1 ~] cd project1/ //进入工作目录
    [root@web1 project1] echo 123456 > 2.sh //新建文件
    [root@bogon my.test] git init //初始化
    [root@web1 project1] git remote add origin git@192.168.23.26:root/project1.git //配置远程服务器地址 如果远程服务器配置报错,因为之前已经配置过其他远程服务器。可以用命令清除掉 git remote rm origin
    [root@web1 project1] git add . //建立当前文件夹下所有的文件,为准备上传的文件
    [root@web1 project1] git commit -m "add client.txt" //提交上传说明
    [root@web1 project1] git push -u origin master //上传

    image-20221116170933722

    5|0Jenkins理解


    5|1简介


    • CI/CD

      • 持续集成/持续发布 开发(git) -->git主库-->jenkins(git+jdk+tomcat+maven打包+测试)-->发布到tomcat服务器
    • jenkins

      • Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。
        意思是我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址URL,将代码拉取到其“宿主服务器”(Jenkins的安装位置),进行编译、打包和发布到web容器中

    5|2jenkins概述


    是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控一些定时执行的任务。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。

    jenkins通常与版本管理工具(SCM)、构建工具结合使用;常用的版本控制工具有SVN、GIT。jenkins构建工具有Maven、Ant、Gradle。

    • CI

      • 英文全称:Continuous Integration
        中文全称:持续集成工具
        持续集成是一种软件开发实践。在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过自动构建(包括自动测试)的检验,以尽快发现集成错误。
    • SCM

      • 英文全称:Source Control Management (Software Version Control)
        中文全称:源码控制管理软件 版本控制

    5|3jenkins目标


    是监控软件开发流程 快速显示问题 提高开发效率 过程控制

    5|4jenkins特性


    • 易于安装

      • 不需要安装、不需要数据库,只需通过java -jar jenkins.war或部署到一个servlet容器中
    • 易于配置

      • 所有的配置都可能通过jenkins提供的web界面完成,当然如果你喜欢,也可以通过手动修改xml文件进行配置
    • 测试报告

      • 生成JUnit或TestNG的测试报告.集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知
    • 文件识别

      • jenkins能跟踪每次构建生成哪些jar包以及使用哪个版本的jar包
    • 分布式构建

      • 支持Jenkins能够让多台计算机一起构建/测试
    • 插件支持

      • jenkins可以通过第三方插件扩展,也可以根据团队需要开发插件
    • 任务(Job)和构建(build)

      • 任务:(Job)是Jenkins的一个执行计划,是一系列操作的集合
        构建:是Jenkins的任务的一次运行
    • 工作流程图

      • image-20221121112653612
      • 开发者检入代码到源代码仓库。
      1. CI系统会为每一个项目创建了一个单独的工作区。当预设或请求一次新的构建时,它将把源代码仓库的源码存放到对应的工作区。
      2. CI系统会在对应的工作区内执行构建过程。
      3. (配置如果存在)构建完成后,CI系统会在一个新的构件中执行定义的一套测试。完成后触发通知(Email,RSS等等)给相关的当事人。
      4. (配置如果存在)如果构建成功,这个构件会被打包并转移到一个部署目标(如应用服务器)或存储为软件仓库中的一个新版本。软件仓库可以是CI系统的一部分,也可以是一个外部的仓库,诸如一个文件服务器或者像Java.net、 SourceForge之类的网站。
      5. CI系统通常会根据请求发起相应的操作,诸如即时构建、生成报告,或者检索一些构建好的构件。
        Jenkins就是这么一个CI系统。之前叫做Hudson。

    6|0Jenkins部署


    6|1环境


    Github https://github.com/
    192.168.23.27 部署Jenkins
    192.168.23.28 Tomcat网站服务器

    6|2部署Git


    192.168.23.27执行

    #安装依赖包
    [root@tomcat ~] yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y
    #git官网下载最新版本GIT,如果网速慢可下载提供的安装包 链接: https://pan.baidu.com/s/1kRYq6hVa1K1C0dHMK1l7Ww?pwd=ijxw 提取码: ijxw
    wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
    //安装Git
    [root@tomcat soft] tar xf git-2.9.5.tar.gz -C /usr/local/ #解压并cd到解压目录
    [root@tomcat local] mv git-2.9.5/ git
    [root@tomcat /] cd /usr/local/git #进入解压目录
    [root@tomcat git-2.9.5] make prefix=/usr/local/git all #编译源码包
    [root@tomcat git-2.9.5] make prefix=/usr/local/git install #源码安装
    #修改环境变量
    [root@tomcat git-2.9.5] vim /etc/bashrc
    PATH=$PATH:$HOME/bin:/usr/local/git/bin #添加内容
    [root@tomcat local] source /etc/bashrc
    [root@tomcat local] git --version #测试是否安装成功
    git version 1.8.3.1
    • 关于bashrc和profile

    • /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次!!!登录!!!时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置.

      /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取

    6|3jdk环境部署


    192.168.23.27执行

    #下载软件
    jdk-11.0.17_linux-x64_bin.rpm #注意:因为版本原因不能用jdk9和jdk10
    链接: https://pan.baidu.com/s/1VBm6-WF-Wx-aMxF79JeZdw?pwd=17ey 提取码: 17ey
    #解压安装
    [root@jenkins soft]# tar xv openjdk-11+28_linux-x64_bin.tar.gz -C /usr/local/
    [root@jenkins local]# mv jdk-11/ jdk
    #添加环境变量
    [root@jenkins local]# vim /etc/bashrc
    JAVA_HOME=/usr/local/jdk
    export PATH=$PATH:$JAVA_HOME/bin
    #测试jdk
    [root@jenkins soft]# java -version
    java version "11.0.17" 2022-10-18 LTS
    Java(TM) SE Runtime Environment 18.9 (build 11.0.17+10-LTS-269)
    Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.17+10-LTS-269, mixed mode)

    6|4部署maven


    192.168.23.27执行

    #下载和解压Maven
    链接: https://pan.baidu.com/s/1RVJO4HscAuZ1ontIJrpx3g?pwd=x3q3 提取码: x3q3 #网盘提取
    wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz #官网下载
    [root@tomcat soft] tar zxvf apache-maven-3.5.3-bin.tar.gz -C /usr/local/
    [root@tomcat soft] mv /usr/local/apache-maven-3.5.3/ /usr/local/maven
    #修改环境变量
    [root@tomcat local] vim /etc/bashrc #添加如下内容
    export M2_HOME=/usr/local/maven
    export M2=$M2_HOME/bin
    PATH=$M2:$PATH:$HOME/bin:/usr/local/git/bin
    export JAVA_HOME=/usr/local/jdk
    export PATH
    [root@tomcat local] source /etc/bashrc
    #测试maven
    [root@tomcat local] mvn -version
    Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T03:49:05+08:00)
    Maven home: /usr/local/maven
    Java version: 1.8.0_151, vendor: Oracle Corporation
    Java home: /usr/local/jdk/jre
    Default locale: zh_CN, platform encoding: UTF-8
    OS name: "linux", version: "3.10.0-1127.el7.x86_64", arch: "amd64", family: "unix"

    6|5部署tomcat


    192.168.23.27执行

    #官网下载tomcat
    apache-tomcat-9.0.1.tar.gz
    #网盘提取
    链接: https://pan.baidu.com/s/1e6TSpN7d1yvH6dXLSoSVsA?pwd=7smt 提取码: 7smt
    #解压部署
    [root@tomcat soft] tar -zxvf apache-tomcat-9.0.1.tar.gz -C /usr/local/
    [root@tomcat soft] mv /usr/local/apache-tomcat-9.0.1/ /usr/local/tomcat
    #定义Tomcat所需环境变量
    [root@tomcat soft] vim /etc/profile #插入如下内容
    CATALINA_HOME=/usr/local/tomcat
    export CATALINA_HOME
    [root@tomcat soft] source /etc/profile
    #启动Tomcat
    [root@tomcat soft] /usr/local/tomcat/bin/startup.sh
    #测试tomcat
    http://192.168.23.27:8080/

    image-20221121125832183

    6|6部署Jenkins


    192.168.23.27执行

    #官网下载jenkins
    http://updates.jenkins-ci.org/download/war/2.319 #下载最新版
    #部署jenkins.war到tomcat下
    [root@tomcat soft] cp jenkins.war /usr/local/tomcat/webapps/
    #注释
    #jenkins密码忘了,可以重置它
    #重置jenkins
    关闭tomcat /usr/local/tomcat/bin/shutdown.sh
    rm -rf /usr/local/tomcat/webapp/jenkins*
    rm -rf ~/.jenkins*
    cp jenkins.war /usr/local/tomcat/webapps/
    启动tomcat即可访问jenkins
    #启动tomcat: 注意启动tomcat会自动解压webapps下的war包
    [root@tomcat soft]# /usr/local/tomcat/bin/startup.sh

    6|7登陆Jenkins


    http://192.168.23.27:8080/jenkins

    如果访问报错执行

    有两种方式解决:
    1.卸载原来的jdk,安装官方的jdk版本。
    2.在服务器额外配置插件,根据自己服务器的版本安装,如下:

    #Ubuntu9以上
    apt-get install ttf-dejavu
    #CentOS 6
    yum install dejavu-sans-fonts
    #CentOS 7
    yum install fontconfig

    image-20221121131154192

    添入以下文件密码到上图页面中

    [root@tomcat soft]# cat /root/.jenkins/secrets/initialAdminPassword
    bdc164a2206145668fc378ca0ba7a1af #点击继续

    选择suggested的插件进行下载

    image-20221121131422591

    image-20221122095551074

    等待安装完成

    image-20221122095950497

    image-20221122100051255

    image-20221122100103503

    image-20221122100127752

    7|0Jenkins插件管理


    7|1简介


    我们配置的是 git + maven 方式的 自动化部署 所以git和maven的相关插件是必须的 还有一个ssh用于机器间的文件传送

    7|2安装插件Deploy to container


    • 作用

      • 支持自动化将代码部署到tomcat容器
    • 安装过程

      • 系统管理-->插件管理-->可选插件-->过滤Deploy to container-->勾选,点击下边的按钮:直接安装,这个可能时间较久,等待即可

    image-20221122101033021

    image-20221122101121550

    image-20221122101142915

    7|3安装插件Maven Integration


    • 作用
      • jenkins 利用maven编译,打包,所需插件

    image-20221122101314537

    image-20221122101329186

    7|4安装git相关3个插件


    • GIT plugin
      • GitHub Authentication
      • GitHub Branch Source
      • GitHub Organization Folder

    安装过程中如可选插件里没有,就多个模块点一点可能已经安装过了

    image-20221122101509552

    image-20221122101706386

    image-20221122101745131

    7|5安装插件:Publish Over SSH


    image-20221122102227702

    7|6检查错误配置


    左侧:点击“系统管理”

    如果有“编码问题”错误,在Tomcat–>conf–>server.xml文件中修改即可

    [root@localhost ~]# head -1 /usr/local/tomcat/conf/server.xml
    如果有”反向代理设置有误“错误,请忽略

    8|0Jenkins系统设置


    • 注意

      • 这里没有强调的都设置为默认即可
    • 路径

      • 系统管理->(全局工具配置)Global Tool Configuration,配置jdk,git,maven的根目录

    image-20221122112712578

    8|1配置jdk目录


    image-20221122112759517

    image-20221122113404376

    8|2配置git目录


    image-20221122113037182

    image-20221122113111494

    8|3配置maven


    image-20221122113148345

    image-20221122113255479

    8|4关于重启jenkins


    • http://server_ip:8080/jenkins/restart
    • http://server_ip:8080/jenkins/exit
    • http://server_ip:8080/jenkins/reload

    9|0SSH 设置


    9|1简介


    (192.168.23.27)jinkens服务器上的maven将开发产生的*.war包,通过SSH自动推送到远程tomcat 服务器上(192.168.23.28),需要手工配置ssh key,配合自动化推送

    • 192.168.23.27 是jenkins
    • 192.168.23.28 是tomcat网站服务器,代表业务服务器

    9|2jenkins服务器准备秘钥认证


    [root@jenkins local]# ssh-keygen #一直回车
    [root@jenkins local]# ssh-copy-id 192.168.23.28 #把密钥推送到192.168.23.28上 注意这里的192.168.23/28是一台tomcat网站服务器。什么都不用安装,接到代码即可
    [root@jenkins local]# ssh root@192.168.23.28 #测试连接成功
    Last login: Wed Nov 23 11:40:18 2022 from 192.168.23.164
    [root@bogon ~]#

    9|3在jenkins上配置ssh信息


    准备SSH私钥

    [root@bogon ~]# cat /root/.ssh/id_rsa
    #复制cat出来的所有内容,粘贴到下一步页面上的key中。
    -----BEGIN RSA PRIVATE KEY-----
    MIIEowIBAAKCAQEA0i1q/vpqEJStSCjks7wO+aKtNFxKVbhhgwW6C14MdG6aQ9J2
    OnwQGwBsW92ID+2cMom/lAdwf68zK3A71zgWIGvcBNhNujPTezyKSfdZIww2qymc
    zW81J1bPS1/V3EmbTewmuJvEpP8yaSAYNjIcMX2YW33DuO9/p18xV0tnDuzLNRpk
    MiPfjL4Ya8cc+fpe8rUNDbHMIbLNd2hKTF79kB+95bNT8GWCVP8NtN6K1qnyryQd
    /aSiEQHhUu1NTBbkjCeGVBmy+0rfk33viDK1dcg749FCiVv0iFqre439eZnuOtGj
    bL1B62YFjs24HVGmQJrJmU0GIidSXD5z8Cl0fQIDAQABAoIBAD3SSC+Z3srjwJiC
    FstbXJhHJmVJZEAUjPIqJBAl6MnyooOii04moeIfXMAkyFnPDWu8ItLa4VddZFK5
    n5BtmeyNbVkreqlzhxgvtYmOLPTnKcls4wd2V48rtKu6E8DJEdp4xOb2QoA55E0R
    uK1wTeSsybzXoFNsdwL3OB8yOa0kppYDcHRO0ke+MCZoE05g6L+4DNFSGxm6UQTd
    lO+Hx497x2kfCCMh3hPrQvBrVGjVABNlHI4/DXDCMvhbKvNWI7sxGwZgEHd8FeR5
    UTZ0xRA60LwBKnm+0eREY+Fpb1q1Pzz8KI91LTfXpJBjyHpv5LLjANV6+koKR3Mo
    nzDdGy0CgYEA/h4eWey5XixZ3UaMt9W0ubFM/k+9A6ztago0ZqFHY84lWIVJqvsF
    MY6AAnHGPNk7FG3BfyJOLinEcuGSQ2PavgfKVArFjhxPt1eGmhfse1MuZs/nzYJP
    fhuiy0bxNZAXvdbVAtpGbRByiP4iaP6/9+0bMJQiaftvXGayepys5AsCgYEA07v5
    0O5f8J3ApgP8LocqeQmsNCxyiiy/ZwXm/K++dqsUKScd2pjky3WkhbIBrXwemsmR
    5fQcOUmcOmrYt538IFZgl99kcNbLEKQy2/SY4373JuKrtjGsfghzMHWq1Za2a5cO
    hYMuq/4DKjpse5dprfh0RgbNadiY/5g9cbeCFpcCgYBqGWMswpTmx/fBVqp8OwMZ
    IPj3mY1ekn4R7y7PxvjKqBCZtBT9CY+ykD/MRXqyfzSWo/jNPyKLTa8TFDGAZ5m2
    DASjMFgprJJwB2BQyDpZh3JxRM8Q1B6ilaFT5EvjxETVY3ROm5oaAWsA3bK6SdsX
    Be17S+5Od8eYOdy9KttY3wKBgQCj60ZHIxSxYl/P5wvoNYqDNCLWLYbrRCNWLfKa
    s7A/jMjJ51escWvHvCcHvjygQ5Qp/11tamQjUcKaUze+R5f2rQiQ60iGNzP0iTo6
    oQ1wKk5LE3ceUSyaUg5jeOUuAETv3H1IjbunObrXiW2M7TbKkavqvr9ub1pbnlAL
    ZqdWtwKBgH6TXyNXjQcloU/kVh2d42gLp8lQ587mODl3G6wn7p9EKzDaEYXactj4
    rISNiJCw0G5Sorzry8e6QDBYZSrQes2AxKL5xAX4gs58fJwnbvKvCzpubASM05ml
    ym/eHttFhRFtrYudgjsuyag1wJ8Ua1GzI1ess8/t32eHwLqmU6lR
    -----END RSA PRIVATE KEY-----

    进入jenkins系统设置

    image-20221122114711439

    image-20221122115546167

    10|0新建任务


    10|1创建任务


    定义名称和类型

    image-20221122134147882

    10|2设置maven


    公有git仓库

    image-20221122134431355

    10|3选择版本控制器和仓库地址


    https://github.com/bingyue/easy-springmvc-maven

    注意:如果是私有仓库,这里需要建立credentials身份认证

    image-20221122134756420

    10|4设置触发器(保持默认)


    image-20221122134927656

    10|5设置构建(编译打包)


    手动添加Goals and options clean package -Dmaven.test.skip=true

    image-20221122135045149

    11|0构建后操作


    在构建后设置中 选择:(send build artifacts over ssh)通过SSH发送构建工件

    image-20221122135239227

    image-20221122135419228

    • 说明:

      • name ssh server 因为之前的配置会默认出现tomcat业务服务器的名字

      • source file

        • target/.war 构建之后,在jenkins服务器上是可以自动看到war包的,(该路径不需要创建) ls /root/.jenkins/jobs/testjob1/builds/target/.war
      • Remove prefix 自动删除路径前缀(不需要创建路径前缀)

      • Remote directory tomcat业务服务器上的路径,需要提前在192.168.23.28(tomcat)上创建该目录。用来存放网站源代码。(需要后台创建)[root@bogon local]# mkdir /jenkins/war -p

      • Exec command tomcat(192.168.0.109)在接收到源码之后的自定义动作。
        比如:将源码拷贝到网站的主目录(/jenkins),并执行一些其他操作如重启服务器等(或创建文件touch)(需要后台创建)

      • [root@bogon local]# mkdir /jenkins/sh
        [root@bogon local]# vi /jenkins/sh/1.sh
        touch /123.com
        [root@bogon local]# chmod +x /jenkins/sh/1.sh
        [root@bogon local]# chmod +x /jenkins/sh/

    12|0开始构建


    image-20221122135449316

    查看构建结果

    image-20221122140345885

    image-20221122150911852

    image-20221122150926237

    观察tomcat网站服务器,代码和脚本

    [root@bogon ~]# ls /jenkins/
    sh war
    [root@bogon ~]# ls /jenkins/war/
    easy-springmvc-maven.war #easy-springmvc-maven.war 就是推送过来的网站源码了
    [root@bogon ~]# ls /123.com
    /123.com

    __EOF__

    本文作者Echo
    本文链接https://www.cnblogs.com/Jqazc/p/16915312.html
    关于博主:评论和私信会在第一时间回复。或者直接私信我。
    版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
  • 相关阅读:
    hdlbits系列verilog解答(移位寄存器)-23
    第三期:那些年,我们一起经历过的链表中的浪漫
    HttpUtils工具类
    梯度下降算法实现原理(Gradient Descent)
    机器学习中的无监督学习是什么?
    2-1-1.spring源码--BeanFactory
    使用vue-cli搭建SPA项目->spa项目的构建,基于spa项目路由完成,基于spa项目完成嵌套路由
    Linux中关于glibc包导致的服务器死机或者linux命令无法使用的情况
    【计算机毕业设计】PHP基于微信小程序实现快去印的实现与开发(源码+需求文档)
    10.28总结
  • 原文地址:https://www.cnblogs.com/Jqazc/p/16915312.html