• 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.构建任务
                保存完成之后——立即构建——等待,很大几率会失败,如果失败需要查看日志分析原因

  • 相关阅读:
    List of the best open source software applications
    Owin对Asp.net Web的扩展
    NSwag给api加上说明
    'workspace' in VS Code
    unable to find valid certification path to requested target
    JMeter的下载以及安装使用
    exception disappear when forgot to await an async method
    Filter execute order in asp.net web api
    记录web api的request以及response(即写log)
    asp.net web api的源码
  • 原文地址:https://www.cnblogs.com/Vampire-MIn/p/13397045.html
Copyright © 2020-2023  润新知