Jenkins安装配置和自动化部署搭建【亲测可用】

简介

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins自动化部署实现原理

在这里插入图片描述

Jenkins安装

Jenkins部署环境

  • jdk环境,Jenkins是java语言开发的,因需要jdk环境。
  • git/svn客户端,因一般代码是放在git/svn服务器上的,我们需要拉取代码。
  • maven客户端,因一般java程序是由maven工程,需要maven打包,当然也有其他打包方式,如:gradle

下载jenkins

安装jenkins

  • 点击 .mis 文件,然后一路傻瓜式安装完成。
    在这里插入图片描述
  • 浏览器输入 http://localhost:8080/,等待准备完成。
    在这里插入图片描述
  • 等待一会,出现如图。填写初始密码,激活系统。
    在这里插入图片描述
  • 进入插件安装选择,选择 安装推荐的插件 的即可。选择后,进入插件安装页面:
    在这里插入图片描述
  • 设置初始用户和密码
    在这里插入图片描述
  • 保存并完成,进入系统,安装完成。
    在这里插入图片描述

Jenkins基本配置

在这里插入图片描述

① Configure System (系统设置)

  • 在系统设置这里,我们只需要设置最后面的一项,配置远程服务器地址,即我们代码最终运行的服务器地址信息,就像我们之前手动部署时使用xshell登录Linux服务器一样,当然这里是可以配置多台远程Linux服务器的,配置完成后点击保存即可,为后面我们配置自动化部署做准备,配置如下图:

    在这里插入图片描述

② Global Tool Configuration (全局工具配置 )

  • 配置maven的全局settings路径
    在这里插入图片描述
  • 配置jdk
    在这里插入图片描述
  • 配置git
    在这里插入图片描述
  • 配置maven的安装路径
    在这里插入图片描述

③ Manage Plugin(管理插件)
在这里插入图片描述

④ Configure Global Security (全局安全配置)

  • 配置用户相关的权限
    在这里插入图片描述
  • 基本必要配置就差不多了,后面配置过程中如果需要可以在配置。

Jenkins自动化部署

Jenkins服务器上创建项目和配置

创建一个工程

在这里插入图片描述
在这里插入图片描述

General(基础配置)

在这里插入图片描述

源码管理

在这里插入图片描述

  • 上图中 点击“添加”按钮添加一组账号和密码
    在这里插入图片描述

构建触发器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 如上图:当选触发远程构建时,当前项目的回调地址为:http://localhost:8080/job/job/Study/build?token=study_token 。只要执行这个地址(在浏览器上访问改地址),该项目就会发起一次构建项目,即拉取代码打包部署操作。在实际中,是由git服务器回调改地址,在后面讲git服务器配置时详细讲解 ,值得注意的是,如果你是学习测试,使用的是GitHub服务,要确保你的回调地址已经试外网映射过的,即往外网可以访问。
  • 这儿我选用了 Poll SCM,其它的几个大家可以后面慢慢研究。

构建环境

  • 无需配置

构建

在这里插入图片描述

构建后操作

  • 构建后操作的意思是,jar打包好后,要将jar发送到哪里去,发送后去和启动等。这里需要提前在需要部署的服务器上配置好路径,写好启动和停止项目的脚本,并设置为可以执行的脚本,其实就是我们平时在Linux上手动部署项目操作的脚本。
    在这里插入图片描述
  • Jenkinds服务器配置完成,接下来配置Ubuntu服务器。

Ubuntu服务器配置

  • 这个服务器是项目最终部署的服务器,可以在阿里云或者其它云,也可以在自己搭建的虚拟机上面。我这儿用的是阿里云。

  • 在阿里云上,上传两个脚本,用于启动和停止。先要创建 testjenkins 两个文件夹,用 mkdir 命令。
    在这里插入图片描述

  • 安装JDK,直接输入Java,如果没有JDK的话会给出安装命令,直接安装就好。

  • stop.sh脚本如下:

     #!/bin/bash
    echo "Stop Procedure : demo-0.0.1-SNAPSHOT.jar"
    pid=`ps -ef |grep java|grep demo-0.0.1-SNAPSHOT.jar|awk '{print $2}'`
    echo 'old Procedure pid:'$pid
    if [ -n "$pid" ]
    then
    kill -9 $pid
    fi
    
  • start.sh脚本如下:

    #!/bin/bash
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    echo ${JAVA_HOME}
    echo 'Start the program : demo-0.0.1-SNAPSHOT.jar' 
    chmod 777 /home/test/jenkins/demo-0.0.1-SNAPSHOT.jar
    echo '-------Starting-------' 
    cd /home/test/jenkins/
    nohup ${JAVA_HOME}/bin/java -jar demo-0.0.1-SNAPSHOT.jar &
    echo 'start success'
    
  • 到这里所有配置搞定,只需修改代码,提交到git,然后访问程序看是否生效。

测试

  • 修改代码,提交到git。
    在这里插入图片描述

  • 代码上传到GitHub之后,就可以在Jenkins中构建。我设置的是10分钟自动构建一次,具体怎么设置你可以自行百度,或者后面我在补充。

  • 这儿我们手动构建。
    在这里插入图片描述

  • 构建出错了。
    在这里插入图片描述

  • 点进去,查看具体日志,如下图:
    在这里插入图片描述

  • 显示不稳定,其实这个时候,查看部署项目的服务器上。jar已经上传成功,而且也已经启动了。
    在这里插入图片描述

  • 查看项目地址:http://118.31.xxx.69:8080/hello
    在这里插入图片描述

  • 接下来我们解决这个不稳定的问题。
    在这里插入图片描述
    在这里插入图片描述

  • 这个时候,我们再次手动构建项目。
    在这里插入图片描述

在这里插入图片描述

  • 问题解决啦。
    在这里插入图片描述

你知道的越多,你不知道的越多。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值