• jenkin自动化代码上线


     介绍

    Jenkins是一款开源自动化服务器,旨在自动化连续集成和交付软件所涉及的重复技术任务。 Jenkins是基于Java的,可以从Ubuntu软件包安装,也可以通过下载和运行其Web应用程序ARchive(WAR)文件进行安装 - 构成一个完整的Web应用程序的集合,该文件旨在在服务器上运行。

    ubantu 安装jenkins

    将存储库密钥添加到系统

    wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
    #添加密钥后,系统将返回OK

    将Debian包存储库地址附加到服务器的sources.list

    echo deb http://pkg.jenkins.io/debian-stable binary/ | tee /etc/apt/sources.list.d/jenkins.list

    运行update ,以便apt-get将使用新的存储库

    apt-get update

    安装Jenkins及其依赖项,包括Java

    apt-get install jenkins

    指定早期版本安装

    apt-get install jenkins=2.138.1

    启动jenkins

    jenkins配置文件在/etc/default/jenkins   如果启动不成功可能是8080端口被占用,在该文件里可以修改jenkins启动端口

    启动Jenkins

    systemctl start jenkins
    systemctl status jenkins    #查看jenkins状态

    安装maven环境

    下载maven

    apache maven官网地址:http://maven.apache.org/download.cgi

     找到Link列下的“apache-maven-3.5.2-bin.tar.gz“进行下载

    安装配置maven

    解压maven:
    tar zxvf apache-maven-3.5.2-bin.tar.gz -C /usr/local/

    配置maven环境变量:

    vim /etc/profile
    export M2_HOME=/usr/local/apache-maven-3.5.2/
    export CLASSPATH=$CLASSPATH:$M2_HOME/lib
    export PATH=$PATH:$M2_HOME/bin


    #使文件生效:
    source /etc/profile

    查看maven版本信息

    mvn -v
    Apache Maven
    3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00) Maven home: /opt/maven/apache-maven-3.5.2 Java version: 1.8.0_151, vendor: Oracle Corporation Java home: /opt/jdk1.8.0_151/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "4.4.0-98-generic", arch: "amd64", family: "unix"

    jenkins使用

     

    进入系统管理

    在插件管理安装gitlab和ssh插件

    在全局工具配置 配置maven和git的环境

    新建一个任务

     配置gitlab的的连接

    配置代码上线过程

    1.执行/bin/bash 61peizhiwenjian.sh  脚本修改代码配置文件  #jenkins环境变量,将脚本放置在该工程的目录下即可以用相对路径执行脚本

    配置文件脚本
    #!/bin/bash
    #name:wangkang
    #作用:替换61环境的代码配置文件
    ydz=/var/lib/jenkins/workspace/nongxianpeizhi/245peizhi
    mbdz=/var/lib/jenkins/workspace/245nongxian2/guns-admin/src/main/resources
    cp -fp $ydz/application.yml $mbdz

    2.maven打包

    3.执行上传脚本     执行前需要配置服务器间的秘钥

    #!/bin/bash
    #name:wk
    #作用:代码上线
    gclj=/var/lib/jenkins/workspace/245nongxian2              #jenkins工程路径    
    dmlj=/var/lib/jenkins/workspace/245nongxian2/guns-admin/target          #代码war包所在的路径
    tomcatlj=/usr/local/tomcat9/webapps                      #tomcat路径
    dmbak=/media/hdd0/nongxian2bak                #代码备份路径
    Ip=60.205.1.1                                          #上传到服务器的IP地址
    [ -f $dmlj/nongxian2.war ] ||exit 
    chown tomcat.tomcat $dmlj/nongxian2.war                   #将代码文件属主属组修改
    ssh tomcat@$Ip "mv $tomcatlj/nongxian2.war $dmbak/nongxian2.`date +%F`.war"       #远程代码备份命令
    scp $dmlj/nongxian2.war tomcat@$Ip:$tomcatlj                       #代码上线命令
    rm -r $gclj/guns-*                                      #清空jenkins代码文件
  • 相关阅读:
    使用crontab定时执行脚本时别忘了输出重定向>
    php 中函数获取可变参数的方法, 这个语法有点像 golang 语言中的
    单词number 和 numeral 的区别
    vim 调到闭合的{
    [转]文件IO详解(二)---文件描述符(fd)和inode号的关系
    js中有包装类,java中也有包装类
    cin中函数的作用
    string类小结
    结构、位域、联合、枚举之小小总结
    运算符重载(C++)
  • 原文地址:https://www.cnblogs.com/ywrj/p/10025337.html
Copyright © 2020-2023  润新知