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

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 重启

1. 安装JDK
rpm -ivh --nodeps --force jdk-8u71-linux-x64.rpm	#rpm安装
#配置jdk环境变量
vi .bash_profile   #/root 目录中 or
vi /etc/profile
CLASSPATH=.
#配置jdk安装路径
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el8_1.x86_64/  
PATH=$PATH:$JAVA_HOME/bin
shift +z+z 保存并退
source .bash_profile	||	source /etc/profile		#需要去重新加载环境
java -version 查看JDK环境(判断jdk1.8是否安装成功)
2. tar包安装git
#安装环境依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install  gcc perl-ExtUtils-MakeMaker
yum remove git
#开始安装
wget https://www.kernel.org/pub/software/scm/git/git-2.0.5.tar.gz
tar xzf git-2.0.5.tar.gz 
cd git-2.0.5
make prefix=/usr/local/git all
make prefix=/usr/local/git install
#设置git环境变量
vi /etc/profile
export PATH=${JAVA_HOME}/bin:$PATH:/usr/local/git/bin  #在文件最后一行添加
source /etc/profile	#重新加载配置文件
git --version
3. 安装maven教程
#yum安装的mavn卸载方式
rpm -qa | grep maven
yum -y remove maven
#tar包安装
yum -y install wget  安装wget(通过wget命令可直接通过网络下载所需安装包)
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar -zxvf apache-maven-3.6.1-bin.tar.gz

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

配置maven环境变量

vi /etc/profile	#添加如下代码
export MAVEN_HOME=/var/local/apache-maven-3.5.2 #/Work_Kevin/maven/maven
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin
#保存退出,重新加载配置文件
source /etc/profile
mvn -version
4. 安装Jenkins教程
  1. 更换yum源为ali 卸载Jenkins

    #卸载Jenkins
    rpm -e jenkins		#卸载
    rpm -ql jenkins		#查看是否卸载
    find / -iname jenkins | xargs -n 1000 rm -rf	#彻底清除残留文件
    #备份
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    #centOS8 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
    yum makecache #生成缓存
    
  2. 安装依赖环境

    #启用Jenkins存储库 运行以下命令下载并导入GPG密钥
    sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
    sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    yum install -y jenkins
    #或者官网下载
    https://pkg.jenkins.io/redhat-stable/jenkins-2.222.1-1.1.noarch.rpm
    #rpm 安装jenkins-2.222.1-1.1.noarch.rpm
    rpm -ivh jenkins-2.222.1-1.1.noarch.rpm
    #查看安装位置
    rpm -qc jenkins
    

    官方下载地址:http://pkg.jenkins-ci.org/redhat-stable

    或者直接下载安装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
    
  3. 修改Jenkins端口号

    vi /etc/sysconfig/jenkins
    #修改端口号
    JENKINS_PORT="8080"  #此端口不冲突可以不修改,若冲突可以修改
    JENKINS_USER="jenkins" #可以修改为root
    
  4. 启动Jenkins

    #centOS7
    service jenkins start		#启动Jenkins
    service jenkins stop		#关闭Jenkins
    service jenkins status		#查看Jenkins状态
    #CentOS8 启动Jenkins服务并启用它以在系统引导时启动
    systemctl start jenkins
    systemctl enable jenkins
    #配置防火墙以允许访问Jenkins使用的端口8888,便可以访问Jenkins
    firewall-cmd --permanent --zone=public --add-port=8080/tcp
    firewall-cmd --reload
    

    访问Jenkins

    http://192.168.71.133:8888/

    按照路径复制密码,单击继续,安装推荐插件

  5. 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登录密码在这个文件里
    cat /var/lib/jenkins/secrets/initialAdminPassword
    
二、安装插件

需要的插件有:

三、全局配置——系统设置
  1. maven配置

    指定maven中setting的位置
    在这里插入图片描述

    指定maven的安装路径
    在这里插入图片描述

  2. jdk 配置

  3. git 安装位置配置

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

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

  6. 配置Credentials
    推送jenkins服务器公钥给git服务器

将jenkins的~/.ssh/目录下id_rsa.pub中公钥,放到本地(或远程)git 的/home/git/.ssh/ authorized_keys 中,这样jenkins才能访问git的仓库
cat id_rsa.pub >> /home/git/.ssh/authorized_keys

配置连接Git私有仓库Credentials

在jenkins界面,依次点击:凭据–>jenkins–>添加域

Domain Name(域名): 192.168.71.133
Description: git远程仓库地址(随意)

选择添加凭据
在这里插入图片描述

四、maven项目的配置

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

  1. 配置 General 和 源码管理

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

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

  3. 配置构建环境

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

  4. 配置 Build

  5. 配置Post Steps

    本地脚本配置

    启动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 "开始执行运行脚本"`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
     
     #远程版192.168.1.100
     #!/bin/bash
     echo "开始执行运行脚本"`pwd`
     
     BUILD_ID=dontKillMe
     pid=`ps -ef | grep kevin_start.jar  | grep -v grep | awk '{print $2}'`
     if [ -n "$pid" ]
     then
        echo "kill -9 的pid:" $pid
        kill -9 $pid
     fi
     
     source /etc/profile
     cd /home/hanhuibing/workspace/java-jar/
     echo '进入到了目录:'${java-jar}
     rm -rf start.jar
     mv *.jar  start.jar
     echo '修改了jar名字'
     #以debug模式启动,可以用idea远程调试
     #nohup java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=9999,suspend=n   -jar kevin_start.jar  >/dev/null  2>&1 &
     nohup java -jar start.jar &
     echo '执行完了构建'
     sleep 10s
    
    
    远程服务器配置


6. 点击应用—>保存 后便可构建项目

可能出现的问题解决
1.Non-resolvable parent POM for .......pom.part.lock (没有那个文件或目录) and 'parent.relativePath' points at wrong local POM	是mvn仓库权限问题
#解决
chown -R jenkins:jenkins /Work_Kevin/maven/maven_repository #修改服务器仓库为Jenkins用户所有
chmod -R 755 /Work_Kevin/maven/maven_repository	#给仓库添加所有着的最高权限

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. 配值构建环境

  4. 配置构建

    增加构建步骤选择Execute shell

    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 内容

    # 删除本地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 持续集成 部署 搭建就成功了,有更好建议,或者配置有问题的同学可以找我继续探讨,本文结束!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值