• 🏆(不要错过!)【CI/CD技术专题】「Jenkins实战系列」(5)总结归纳Jenkins的安装使用和配置流程介绍


    Jenkins基础介绍篇

    • Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
    • 通过Jenkins实现自动化部署项目,本地git提交代码Jenkins自动化将项目部署在Linux服务器。

    Jenkins技术原理篇

    • 版本控制服务

    • Jenkins自动化部署服务

    Jenkins环境搭建篇

    • 如果使用Jenkins容器,我该怎么通过Jenkins容器部署SpringBoot项目?
    • 是通过Jenkins容器与SpringBoot容器中的文件交互进行项目部署吗?这能做到吗?
    • 又或是把SpringBoot项目放到Jenkins容器中管理,那Jenkins中又要安装git、maven等一堆东西,这一点都不方便。

    jenkins镜像

    组件部署规划

    • Jenkins:接收项目更新信息并进行项目打包与Docker脚本的执行

    • Docker:安装所需应用镜像与运行容器(本篇忽略)

    • git:项目信息同步

    环境搭建

    安装JDK
    将下载完的jdk解压
    tar -zxvf jdk-8u191-linux-x64.tar.gz
    
    在/etc/profile文件末尾增加以下配置
    vim /etc/profile 
    export JAVA_HOME=/home/jenkins/globalEnvi/jdk1.8.0_191
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
    
    更新配置文件
    source /etc/profile
    
    查看版本信息
    [root@libo tyes]# java -version
    java version "1.8.0_381"
    Java(TM) SE Runtime Environment (build 1.8.0_321-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
    
    安装Maven
    下载maven并解压
    wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
    tar -zxvf apache-maven-3.6.0-bin.tar.gz
    
    修改maven的远程镜像为阿里云镜像库
    vim conf/setting.xml
        ...
           <mirror>  
              <id>nexus-aliyun</id>  
              <mirrorOf>central</mirrorOf>    
              <name>Nexus aliyun</name>  
              <url>http://maven.aliyun.com/nexus/content/groups/public</url>  
          </mirror>
    ...
    
    在/etc/profile文件末尾增加以下配置
    vim /etc/profile 
    #注意这里是maven的安装路径 
    M2_HOME=/home/jenkins/globalEnvi/apache-maven-3.6.0   
    
    重载/etc/profile这个文件 source /etc/profile
    export PATH=${M2_HOME}/bin:${PATH}
    
    查看是否maven环境变量

    [root@libo tyes ~]# mvn -v 
    Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)  Maven home: /home/zhangsha/apache-maven-3.6.3  Java version: 1.8.0_261, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_261-amd64/jre  Default locale: en_US, platform encoding: UTF-8  OS name: "linux", version: "3.10.0-1127.18.2.el7.x86_64", arch: "amd64", family: "unix"****

    安装git
    安装依赖
    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
    yum install gcc perl-ExtUtils-MakeMaker
    

    下载git之后

    查看版本
    [root@libo tyes]# git --version
     git version 2.28.0  
    
    • 安装Jenkins
      • 下载安装包jenkins.war;
         - 在安装包根路径下,运行命令 `java -jar jenkins.war --httpPort=8080
      • 打开浏览器进入链接 http://localhost:8080.
      • 填写初始密码,激活系统

    首次启动会提示初始密码位置,找到初始密码:

    [root@libo tyes]# cat /var/jenkins_home/secrets/initialAdminPassword
    9e3a37cf78264798878606621db632d3
    

    推荐安装的插件,保证基本常用的功能可以使用。

    • 安装需要的插件

    • 插件安装界面

    全局化配置

    在jenkins页面“系统管理”-->“管理插件”-->”全局工具配置”:

    • 配置相关Maven的settings配置文件路径

    • 配置相关Maven的安装home目录信息

    • 配置相关的JDK的相关的目录信息

    • 配置相关GIT的安装home目录信息

    注意:可能各种原因,插件安装失败,则跳过也可以,再登录到Jenkins之后可以对插件进行自定义选择性安装。

    • 设置初始用户和密码

    • 登录账号密码之后,进入系统,安装完成。(如果录入账号密码登录遇到空白页,重启jenkins服务在尝试重新登录)

    在jenkins页面“系统管理”-->“插件管理”-->"可选插件"中搜索:

    在插件管理页面可以对插件进行安装、卸载、更新。(各个插件的版本和Jenkins版本有时候会有兼容性问题,可以进行更新或者降级)



    • Maven插件(必须)Maven Integration 用来支持构建maven项目

    • 远程连接服务插件(必须):Publish Over SSH 用来把构建好的部署包传送到指定服务器的指定位置

    • GitLab、Gitlab Authentication、Gitlab Hook来获取仓库源码

    • 发布插件(必须):Deploy to container Plugin

    • git插件: Git plugin(git和svn根据自身需求)

    在jenkins页面“系统管理”-->“系统设置”:

    • (Publish over SSH插件配置)添加SSH Servers(可使用密钥,也可以使用密码)

    Jenkins构建任务篇

    首页-新建任务

    填写任务名称,选择“构建一个Maven的软件项目”。

    .配置源码管理

    填写git地址操作

    • 若是需要认证,则添加凭据即可
    构建环境

    构建

    配置构建命令

    配置构建后发布

    填写执行命令
    #!/bin/sh
    #docker 镜像/容器名字或者jar名字 这里都命名为这个
    SERVER_NAME=logistics
    #容器id
    CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
    #镜像id
    IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
    #当前日期
    DATE=`date +%Y%m%d`
    
    #清除旧容器
    if [ -n "$CID" ]; then
    echo "存在$SERVER_NAME容器,CID=$CID"
    echo "停止旧容器"
    docker stop $SERVER_NAME
    echo "删除旧容器"
    docker rm $SERVER_NAME
    fi
    
    # 清楚旧镜像
    if [ -n "$IID" ]; then
    echo "存在$SERVER_NAME镜像,IID=$IID"
    echo "删除镜像"
    docker rmi $IID
    fi
    
    #构建镜像
    echo "开始构建镜像"
    docker build -f ./src/main/docker/Dockerfile -t $SERVER_NAME:v${DATE} ./target
    echo "构建镜像成功!"
    
    
    # 运行docker容器
    echo "创建并启动$SERVER_NAME容器..."
    docker run --name $SERVER_NAME -d -p 8071:8071 $SERVER_NAME:v${DATE}
    echo "$SERVER_NAME容器启动完成
    

    立即构建

    Jenkins部署流程篇

    1. 开发用户提交代码到Git源码仓库

    2. Jenkins服务器从指定Git仓库拉去代码,使用maven编译打包。

    3. Jenkins服务器通过ssh插件连接登录服务器,将打包好的war或者jar包传送到应用服务器指定位置,例如 home/web/a.war

    4. Jenkins服务器在应用服务器远程执行脚本文件,重启应用服务器tomcat 或者在应用服务器执行 java -jar 启动当前项目。

    极限就是为了超越而存在的
  • 相关阅读:
    oracle 游标例子
    oracle 认识
    Scut游戏服务器引擎之新手入门
    Scut游戏服务器引擎6.5.8.6发布
    Scut游戏服务器引擎之Unity3d接入
    Scut游戏服务器引擎6.1.5.6发布,直接可运行,支持热更新
    ScutSDK 0.9版本发布
    Scut游戏服务器引擎6.0.5.2发布
    Scut游戏服务器引擎6.0.5.1发布
    Scut游戏服务器引擎6.0.5.0发布-支持C#脚本
  • 原文地址:https://www.cnblogs.com/liboware/p/15290981.html
Copyright © 2020-2023  润新知