• Jenkins-CI/CD持续集成


    CI/CD:
        持续集成/持续发布
        实验环境:
            centos7.7   192.168.1.103   4G内存    jenkins
            centos7.7   192.168.1.102   2G内存    tomcat
            centos7.7   192.168.1.101   2G内存    gitlab
            1.部署git
                安装依赖包:
                    [root@jenkins ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y
                git官网下载最新版本git:
                    [root@jenkins ~]# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
                安装git:
                    [root@jenkins ~]# tar fx git-2.9.5.tar.gz       # 解压
                    [root@jenkins ~]# cd git-2.9.5/         # 切换目录
                    [root@jenkins git-2.9.5]# make prefix=/usr/local/git all
                    [root@jenkins git-2.9.5]# make prefix=/usr/local/git install
                    [root@jenkins ~]# vim /etc/profile      #文件末尾添加
                        PATH=$PATH:$HOME/bin:/usr/local/git/bin
                    [root@jenkins ~]# source /etc/profile
                验证:
                    [root@jenkins ~]# git --version
                    git version 1.8.3.1
            2.jdk环境部署
                下载jdk-8u171-linux-x64.tar.gz
                卸载本机的openjdk
                    [root@jenkins ~]# yum remove java-1.* -y
                解压安装:
                    [root@jenkins ~]# tar xf jdk-8u171-linux-x64.tar.gz
                    [root@jenkins ~]# mv jdk1.8.0_171/ /usr/local/jdk
                设置环境变量:
                    [root@jenkins ~]# vim /etc/profile      # 在末尾添加
                        JAVA_HOME=/usr/local/jdk
                        export PATH=$PATH:$JAVA_HOME/bin
                    [root@jenkins ~]# source /etc/profile       # 重载
                验证:
                    [root@jenkins ~]# java -version
                    java version "1.8.0_171"
                    Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
                    Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
            3.部署maven
                下载maven:
                    [root@jenkins ~]# wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
                解压安装:
                    [root@jenkins ~]# tar xf apache-maven-3.5.4-bin.tar.gz
                    [root@jenkins ~]# mv apache-maven-3.5.4 /usr/local/maven
                添加环境变量:
                    [root@jenkins ~]# vim /etc/profile      # 添加以下内容
                        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@jenkins ~]# mvn -version
                    Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
                    Maven home: /usr/local/maven
                    Java version: 1.8.0_171, vendor: Oracle Corporation, runtime: /usr/local/jdk/jre
                    Default locale: en_US, platform encoding: UTF-8
                    OS name: "linux", version: "3.10.0-1062.el7.x86_64", arch: "amd64", family: "unix"
            4.部署tomcat
                下载tomcat-9.0.1:
                    [root@jenkins ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.1/bin/apache-tomcat-9.0.1.tar.gz
                解压并移动到指定目录:
                    [root@jenkins ~]# tar xf apache-tomcat-9.0.1.tar.gz
                    [root@jenkins ~]# mv apache-tomcat-9.0.1 /usr/local/tomcat
                定义tomcat所需的环境变量:
                    [root@jenkins ~]# vim /etc/profile      # 末尾添加
                        CATALINA_HOME=/usr/local/tomcat
                        export CATALINA
                    [root@jenkins ~]# source /etc/profile
                启动tomcat:
                    [root@jenkins ~]# /usr/local/tomcat/bin/startup.sh
                测试:
                    http://192.168.1.103:8080
            5.部署jenkins-2.190
                下载路径:
                    http://updates.jenkins-ci.org/download/war/
                上传jenkins.war到服务器上:
                    [root@jenkins ~]# cp jenkins.war /usr/local/tomcat/webapps/
                    [root@jenkins ~]# /usr/local/tomcat/bin/shutdown.sh
                    [root@jenkins ~]# /usr/local/tomcat/bin/startup.sh
                tomcat会自动解压/usr/local/tomcat/webapps/目录下的war包
                登录jenkins:
                    初次登录需要初始化密码,密码文件位置:
                        [root@jenkins ~]# cat /root/.jenkins/secrets/initialAdminPassword
                        42e1066fee8a47e78b4c332ba754d1e5
            6.管理插件
                简介:
                    此处配置的事git+maven方式的自动化部署,所以git和maven的相关插件是必须的,还有一个ssh用于机器间的文件传送
                关于插件:
                    GIT plugin:可能已经默认安装了
                    Publish Over SSH:远程Shell
                    Maven Intergration plugin
                安装插件Deploy to container:
                    作用:
                        支持自动化将代码部署到tomcat容器
                    安装过程:
                        系统管理——>插件管理——>可选插件——>Deploy container——>勾选,点击下边的按钮,直接安装,这个可能时间较久,等待即可
                安装插件Maven intergration:
                    Maven Intergration
                安装git相关插件:
                    GitHub Authentication plugin
                    GitHub Branch Source Plugin
                    GitHub Organization Folder Plugin
                安装插件:Publish Over SSH:
            7.检查错误配置
                点击系统管理:
                    1.如果有“编码问题”错误,在Tomcat->conf->server.xml文件中修改即可
                        [root@jenkins ~]# head -1 /usr/local/tomcat/conf/server.xml
                            <?xml version="1.0" encoding="UTF-8"?>
                    2.如果有“反向代理设置”错误,请忽略
            8.Jenkins系统设置
                这里没有强调的都设置为默认即可
                路径:
                    系统管理->(全局工具配置)Global Tool Configuration,配置jdk,git,maven的根目录
                步骤:
                    1.找到全局配置工具
                    2.配置jdk目录
                        点击新增jdk——>取消自动安装——>填写Name(别名)为jdk,Path(路径)为/usr/local/jdk
                    3.配置git目录
                        修改Path为/usr/local/git/bin/git
                    4.配置maven目录
                        填写Name为maven,Path为/usr/local/maven
                    5.保存退出
            9.SSH设置
                目的:
                    简介:
                        (192.168.1.103)jenkins服务器上的maven将开发产生的*.war包,通过SSH自动推送到远程tomcat服务器上(192.168.1.102)。需要手动配置ssh key。配合自动化推送
                        192.168.1.103是jenkins服务器
                        192.168.1.102是tomcat网站服务器,代表业务服务器
                    步骤:
                        1.jenkins服务器准备秘钥认证:
                            [root@jenkins ~]# ssh-keygen -t rsa         # 生成秘钥
                            [root@jenkins ~]# ssh-copy-id -i 192.168.1.102          # 将秘钥拷贝到tomcat服务器上
                            [root@jenkins ~]# ssh 192.168.1.102             # 验证
                            Last login: Mon Jul 27 06:10:45 2020 from 192.168.1.103
                            [root@tomcat ~]#
                        2.在jenkins上配置ssh信息
                            配置jenkins使其可以免密登录tomcat服务器
                            系统管理——系统配置——下拉至最后,配置Publish over SSH第三项,填写jenkins服务器的私钥——取消勾选Disable exec——勾选SSH Servers——一次填写Name,Hostname,Username,Remote Directory(/)——Test Configuration——保存
            10.新建任务
                创建任务并且定义名称和类型:
                    新建任务——输入任务名称——构建一个maven项目——确定
                设置maven:
                    1.公有git仓库(例如github):
                        设置描述:


                       

      选择版本控制器和仓库地址:


                        设置触发器(保持默认):
                        设置构建(编译打包):


     
                

        设置maven的关键字:
                                clean package -Dmaven.test.skip=true
                        构建后操作:


                            Name:ssh server因为之前的配置会默认出现tomcat业务服务器的名字
                            Source files:构建之后,在jenkins服务器上是可以自动看到war包的。(该路径不需要创建)
                                示例:ls /root/.jenkins/jobs/testjob1/builds/target/*.war
                            Remove prefix:自动删除路径前缀(不需要创建路径前缀)
                            Remote directory:tomcat业务服务器上的路径,需要提前在192.168.1.102上面创建该目录,用来存放网站源代码。(需要后台创建)
                                示例:mkdir -p /jenkins/war
                            Exec command:tomcat业务服务器(192.168.1.102)在接收到源码之后的自定义动作,比如:将源码拷贝到网站的主目录(/jenkins),并执行一些其他操作如重启服务等(或创建文件touch)(需要后台创建)
                                示例:
                                    mkdir /jenkins/sh/
                                    cat /jenkins/sh/deploy.sh
                                    cp -r /jenkins/war/*.war /jenkins
                                    touch /tmp/aaaaa.txt
                                    chmod +x /jenkins/sh/deploy.sh


                    2.私有git仓库(例如git):
            11.构建任务
                保存完成之后——立即构建——等待,很大几率会失败,如果失败需要查看日志分析原因

  • 相关阅读:
    线程数量与并行应用性能相关性的测试
    redis命令学习
    shell获取日期(昨天,明天,上月,下月)
    shell获取文件行数
    redis的备份和恢复
    redis使用Java学习
    kafka的一些常用命令
    查看kafka的group.id
    vim搜索后跳到下(上)一个
    redis批量执行
  • 原文地址:https://www.cnblogs.com/Vampire-MIn/p/13397045.html
Copyright © 2020-2023  润新知