• Jenkins的安装及使用


    安装Jenkins

    官网教程

    sudo wget -O /etc/yum.repos.d/jenkins.repo 
        https://pkg.jenkins.io/redhat-stable/jenkins.repo
    sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    yum install -y jenkins #默认安装最新的
    

    操作Jenkins命令

    service jenkins start #启动jenkins
    
    service jenkins restart  #重启jenkins
    
    rpm -ql jenkins  #查看默认安装目录
    
    rpm -e jenkins    #卸载jenkins
    rpm -ql jenkins   #检查是否卸载成功
    find / -iname jenkins | xargs -n 1000 rm -rf    彻底删除残留文件
    

    修改Jenkins的配置文件

    修改Jenkins默认jdk位置

    • **方式一 **修改配置jenkins文件
    vi /etc/init.d/jenkins
    
    • 方式二 建立软连接
    ln -s /usr/local/jdk1.8.0_161/bin/java /usr/bin/java
    

    修改Jenkins配置文件

    vim /etc/sysconfig/jenkins
    

    修改 JENKINS_USER="root" 最好改成root,不然会报错权限不足

    修改启动端口 JENKINS_PORT(默认8080)这里设为 9999(自定义)

    重载所有修改过的配置文件

    systemctl daemon-reload
    

    启动Jenkins后,在网页输入对应的 http://服务器ip:9999,完成Jenkins管理员的设置以及插件安装**

    使用示例

    部署前后端分离的项目(部署在本地)

    • 配置对应的工具(服务器须已经安装了这些工具)

    • 下载对应的插件

    因为我使用的部署项目例子是在gitee中管理,使用vue+springboot进行编写的,所以下的插件须有gitee,node,maven

    • 新建一个项目(item)选择maven项目

    执行的脚本

    cd /var/lib/jenkins/workspace/sportMeeting #根据自己stop.sh、replace.sh脚本地址写
    sh stop.sh
    sh replace.sh
    BUILD_ID=dontKillMe nohup java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=2222 /www/server/sportMeeting/school-sportmeeting-system-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod > school-sportmeeting-system.log 2>&1 &
    #根据自己jar包的名称、地址修改
    sh deploy.sh
    #部署前端
    

    对应上面脚本中的stop.sh

    # 将应用停止
    #stop.sh
    #!/bin/bash
    echo "Stopping SpringBoot Application"
    pid=`ps -ef | grep school-sportmeeting-system-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
    if [ -n "$pid" ]
    then
       kill -9 $pid
    fi
    
    #此处school-sportmeeting-system-0.0.1-SNAPSHOT.jar根据自己的jar包名称修改
    
    

    对应上面脚本中的replace.sh

    #replace.sh 用于将上次构建的结果备份,然后将新的构建结果移动到合适的位置
    #!/bin/bash
    # 先判断文件是否存在,如果存在,则备份
    file="/www/server/sportMeeting/school-sportmeeting-system-0.0.1-SNAPSHOT.jar"
    if [ -f "$file" ]
    then
       mv $file /www/server/sportMeeting/school-sportmeeting-system-0.0.1-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
    fi
    mv /var/lib/jenkins/workspace/sportMeeting/target/school-sportmeeting-system-0.0.1-SNAPSHOT.jar /www/server/sportMeeting/school-sportmeeting-sys
    tem-0.0.1-SNAPSHOT.jar
    #此处 /www/server/sportMeeting/school-sportmeeting-system-0.0.1-SNAPSHOT.jar 是存放jar包位置
    #而 /var/lib/jenkins/workspace/sportMeeting/target/school-sportmeeting-system-0.0.1-SNAPSHOT.jar 是jenkins build 成功生成jar包的位置
    #以上根据自己实际jar包名称和路径修改
    

    对应上面脚本中的deploy.sh

    #deploy.sh 用于部署前端项目
    #!/bin/bash
    path="/var/lib/jenkins/workspace/sportMeeting/vue/sportmeeting-vue"
    cd $path
    cnpm install
    cnpm run build
    cp -rf $path/dist/ /www/server/  #复制文件夹至docker部署的nginx挂载卷
    

    关于上面docker部署的nginx相关的命令

    #docker启动nginx并挂载卷
    docker run -d --name nginx 
    -p 80:80 
    -v /www/server/dist:/usr/share/nginx/html 
    -v /var/yzy/nginx/nginx.conf:/etc/nginx/conf.d/default.conf 
    -v /var/yzy/logs:/var/log/nginx nginx
    

    对应的nginx配置文件

    server 
       {
        listen       80;
        server_name  localhost;  #这里填写对应的域名或ip地址
    
        location / {
            root   html/;
            index  index.html index.htm;
        }
      }
    

    保存之后,点击build now即可完成前后端一键化部署

  • 相关阅读:
    JS中常遇到的浏览器兼容问题和解决方法
    遍历
    深度克隆和浅拷贝
    js数据类型
    js运算符
    理解js中的事件模型
    常见事件总结
    模板方法模式
    适配器模式和外观模式
    命令模式
  • 原文地址:https://www.cnblogs.com/shouyaya/p/15115494.html
Copyright © 2020-2023  润新知