欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Jenkins 和 GitHub 的持续集成及一键部署

程序员文章站 2024-02-03 19:07:58
...

Java后台环境部署

注意:本文搭建部署都在linux操作系统中部署,请注意安装包的格式

一、环境准备

  • 配置linux网卡环境(非必须)
  • 安装JDK
  • 安装git
  • 安装maven
  • 安装Jenkins
配置linux网卡初始化
  1. ifconfig 查看ip

  2. vi /etc/sysconfig/network-scripts/ifcfg-eth0 编辑网卡配置

  3. i / a 进入编辑模式 将ONBOOT=yes 是否启动时**网卡

  4. esc 退出编辑模式

  5. shift+zz 保存退出 || shift+: q! 不保存 wq! 保存

  6. chkconfig iptables off 防火墙开机不启动

  7. 7service iptables stop 关闭防火墙 (避免后期的操作被拦截,建议关闭)

  8. reboot 重启

安装JDK教程
  1. rpm -ivh --nodeps --force jdk-8u71-linux-x64.rpm #rpm安装

  2. 配置jdk环境变量

.bash_profile #/root 目录中

vi .bash_profile || vi /etc/profile

CLASSPATH=.

JAVA_HOME=/usr/java/jdkxxxx #配置jdk安装路径

PATH=$PATH:$JAVA_HOME/bin

shift +z+z 保存并退出

source .bash_profile || source /etc/profile 需要去重新加载环境

java -version 查看JDK环境(判断jdk1.8是否安装成功)

安装git教程
  1. 安装依赖环境

    # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

    # yum install gcc perl-ExtUtils-MakeMaker

  2. 删除已存在的git

    # yum remove git

  3. 下载源码并解压

    # cd /usr/src

# wget <https://www.kernel.org/pub/software/scm/git/git-2.0.5.tar.gz>

(从官网直接下载最好)

# tar xzf git-2.0.5.tar.gz #解压缩

  1. 编译安装-配置环境变量

    # cd git-2.0.5

    # make prefix=/usr/local/git all 编译

    # make prefix=/usr/local/git install 安装

    # vi /etc/profile

    # export PATH=${JAVA_HOME}/bin:$PATH:/usr/local/git/bin 在文件最后一行添加

    : wq! 保存退出

    # source /etc/profile

  2. 检查安装结果

    # git --version (出现git version 2.0.5 为安装成功)

安装maven教程
  1. yum -y install wget 安装wget(通过wget命令可直接通过网络下载所需安装包)

    # wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz

    (http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz)

如果下载不了,可以直接在官网下载安装包(apache-maven-3.6.1-bin.tar.gz)

  1. 解压缩maven安装包

    # tar -zxvf apache-maven-3.6.1-bin.tar.gz

  2. 配置maven环境变量

# vi /etc/profile 添加如下代码

export MAVEN_HOME=/var/local/apache-maven-3.5.2
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin

保存并运行配置文件

# source /etc/profile

  1. #mvn -version --->验证maven是否安装成功
安装Jenkins教程
  1. 安装依赖环境

    #wget -O /etc/yum.repos.d/jenkins.repo <http://pkg.jenkins-ci.org/redhat/jenkins.repo>
    # rpm --import <http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key>
    # yum install jenkins
    

(官方下载网址:http://pkg.jenkins-ci.org/redhat-stable)https://pkg.jenkins.io/redhat-stable/

  1. 或者直接下载安装Jenkins安装包

    #  wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm
    #  rpm -ivh jenkins-2.7.3-1.1.noarch.rpm
    
  2. 修改Jenkins端口号

# vi /etc/sysconfig/jenkins

找到修改端口号:

JENKINS_PORT="8080" 此端口不冲突可以不修改,若冲突可以修改

  1. 启动Jenkins

    # service jenkins start//启动Jenkins
    # service jenkins stop//关闭Jenkins
    # service jenkins status//查看Jenkins状态
    
  2. Jenkins jdk环境配置问题

    # vi /etc/init.d/jenkins

    candidates="
    /etc/alternatives/java
    /usr/lib/jvm/java-1.6.0/bin/java
    /usr/lib/jvm/jre-1.6.0/bin/java
    /usr/lib/jvm/java-1.7.0/bin/java
    /usr/lib/jvm/jre-1.7.0/bin/java
    /usr/lib/jvm/java-1.8.0/bin/java
    /usr/lib/jvm/jre-1.8.0/bin/java
    /usr/bin/java
    /home/jdk1.7.0_79/bin/java (注意 这里修改为自己安装的jdk路径)"
    

    重启jenkins # service jenkins restart

jenkins登录密码在这个文件里

# vi /var/lib/jenkins/secrets/initialAdminPassword

二、安装插件

需要的插件有:

三、全局配置——系统设置

  1. maven配置

    指定maven中setting的位置
    Jenkins 和 GitHub 的持续集成及一键部署

    指定maven的安装路径
    Jenkins 和 GitHub 的持续集成及一键部署

  2. jdk 配置

    Jenkins 和 GitHub 的持续集成及一键部署

  3. git 安装位置配置

    Jenkins 和 GitHub 的持续集成及一键部署

  4. 系统设置 中 配置gitHub 服务器及自动构建的hook

    Jenkins 和 GitHub 的持续集成及一键部署

  5. 系统设置 中 配置 Publish over SSH

    Jenkins 和 GitHub 的持续集成及一键部署

四、maven项目的配置

新建一个maven项目(必须有maven插件才会显示项目)

  1. 配置 General 和 源码管理

    Jenkins 和 GitHub 的持续集成及一键部署

  2. 配置构建触发器(根据需求配置)

    我的配值是根据钩子push 触发 构建项目

    Jenkins 和 GitHub 的持续集成及一键部署

  3. 配置构建环境

    当前配置是给构建日志添加时间戳

    Jenkins 和 GitHub 的持续集成及一键部署

  4. 配置 Build

    Jenkins 和 GitHub 的持续集成及一键部署

  5. 配置Post Steps

    本地脚本配置

    Jenkins 和 GitHub 的持续集成及一键部署

    启动jar包的执行shell
    echo "Post Steps脚本启动成功${WORKSPACE}"
    echo "github was update"
    rm -rf /mywork/java_jar/mastery_web.jar /mywork/java_jar/mastery_web
    sleep 2
    mv /var/lib/jenkins/workspace/mastery_web/target/mastery_web.jar /mywork/java_jar
    cd /mywork/java_jar
    chmod 777 *.sh
    ./start.sh
    
    ./start.sh 内容
    #!/bin/bash
    echo "开始执行运行脚本"
    BUILD_ID=dontKillMe
    pid=`ps -ef | grep mastery_web.jar  | grep -v grep | awk '{print $2}'`
    if [ -n "$pid" ]
    then
       echo "kill -9 的pid:" $pid
       kill -9 $pid
    fi
    # 避免jenkin 自带机制kill掉启动的进程
    source /etc/profile
    cd /mywork/java_jar/
    echo '进入到了xxx目录'
    mv mastery_web.jar  start.jar
    echo '修改了jar名字'
    #以debug模式启动,可以用idea远程调试
    #nohup java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8001,suspend=n   -jar start.jar  >/dev/null  2>&1 &
    nohup java -jar start.jar &
    echo '执行完了构建'
    sleep 10s
    
    远程服务器配置

    Jenkins 和 GitHub 的持续集成及一键部署

    启动jar包的执行shell
    chmod 777  /workspace/java/*.jar
    sh /workspace/java/start.sh
    
    start.sh 脚本内容
    #!/bin/bash
    echo "开始执行运行脚本"`pwd`
    BUILD_ID=dontKillMe
    pid=`ps -ef | grep mastery_web.jar  | grep -v grep | awk '{print $2}'`
    if [ -n "$pid" ]
    then
       echo "kill -9 的pid:" $pid
       kill -9 $pid
    fi
    source /etc/profile
    cd /workspace/java
    echo '进入到了目录:'${java}
    mv mastery_web.jar  start.jar
    echo '修改了jar名字'
    #以debug模式启动,可以用idea远程调试
    #nohup java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8001,suspend=n   -jar start.jar  >/dev/null  2>&1 &
    nohup java -jar start.jar &
    echo '执行完了构建'
    sleep 10s
    
  6. 点击应用—>保存 后便可构建项目

    Jenkins 和 GitHub 的持续集成及一键部署

vue前端在Jenkins中的部署

一、环境准备

  1. 安装nodejs

    # 下载node
    wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz
    # 解压缩
    tar xf node-v10.15.0-linux-x64.tar.xz
    mv node-v10.15.0-linux-x64 /usr/local/node_10.15
    # 配置环境变量
    ln -s /usr/local/node_10.15/bin/npm /usr/local/bin/
    ln -s /usr/local/node_10.15/bin/node /usr/local/bin/
    # 测试
    node -v
    npm -v
    
  2. 卸载nodejs环境(附加讲解,非必须执行)

    # 先卸载npm
    npm uninstall npm -g
    # 卸载nodejs
    yum remove nodejs npm -y
    # 看看是否有残留
    /usr/local/lib 删除所有 node 和 node_modules文件夹
    /usr/local/include 删除所有 node 和 node_modules 文件夹
    /usr/local/bin 删除 node 的可执行文件
    
  3. 配置npm淘宝镜像说明(非必须)

    # 淘宝镜像下载cnpm
    npm install -g cnpm --registry=https://registry.npm.taobao.org
    ln -s /workspace/soft/node-v9.6.1-linux-x64/bin/cnpm /usr/local/bin/
    # 查看cnpm镜像设置
    npm config get registry
    npm config edit
    # 添加一行 或者 删除
    registry=https://registry.npm.taobao.org/
    #或者设置为淘宝的命令
    npm config set registry https://registry.npm.taobao.org
    npm config set disturl https://npm.taobao.org/dist
    

二、插件安装

安装nodejs插件,不详细讲解

三、全局配置&系统设置

同Java配置不详细讲解

四、web项目配置

新建一个项目

  1. 配置 General 和 源码管理

    同Java项目一样

  2. 配置构建触发器(根据需求配置)

    同Java项目

  3. 配值构建环境

    Jenkins 和 GitHub 的持续集成及一键部署

  4. 配置构建

    增加构建步骤选择Execute shell

    Jenkins 和 GitHub 的持续集成及一键部署

    echo $PATH
    # 打印版本
    node -v
    npm -v
    # 进入从github中来下到本地的项目目录
    cd /var/lib/jenkins/workspace/ytxd_web
    # 执行环境下载和打包
    cnpm install
    cnpm run build
    ls dist
    #把生成的项目打包成方便传输到远程服务器
    tar -zcf dist.tar.gz dist
    
  5. 配置构建后操作

    Exec command 内容

    Jenkins 和 GitHub 的持续集成及一键部署

    # 删除本地tar包
    rm -rf /var/lib/jenkins/workspace/ytxd_web/dist.tar.gz
    cd /workspace
    # 删除旧版本
    rm -rf dist
    # 解压新tar包
    tar -zxf dist.tar.gz
    # 删除没用的tar包
    rm -rf  dist.tar.gz
    

``

  1. 保存后去构建项目

Jenkins 和 GitHub 的持续集成及一键部署

到这一步,你的后端Jenkins 和GitHub 持续集成 部署 搭建就成功了,有更好建议,或者配置有问题的同学可以找我继续探讨,本文结束!!