Jenkins - 一篇就能上手 Jenkins 自动化部署

Posted Lux_Sun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins - 一篇就能上手 Jenkins 自动化部署相关的知识,希望对你有一定的参考价值。

简介

本地项目代码提交到 Git 上,自动触发 git hook 钩子(Jenkins - 一篇就能上手 Gitee(码云)代码自动化构建)通知 Jenkins,然后 Jenkins 通知目标服务器拉取 Git 项目代码并执行脚本(拉取、构建、启动等),完毕!

环境要求

  • Local Env:Windows、Git、Maven、Java、[SQL]
  • Target Env:Linux、Git、Maven、Java、[SQL]
  • Jenkins Env:Linux、Jenkins.war、Tomcat、Java

Local Env(本地服务器)

其实本地服务器环境和目标服务器差不多,因为只是环境的迁移罢了,所以这边有啥,目标也应该有啥,所以这个我们会在目标服务器那着重讲解。

注意:这边 SQL 环境不做讲解,中括号意思根据项目选择性部署(可选项),后面也一样,不再提其。

Target Env(目标服务器)

需要准备好目标服务器的 IP、端口(防火墙安全组开放状态)、用户名/密码、SSH支持连通,这些涉及到敏感信息就不明文展示。

一、安装 Java 环境

yum install java

提示是否确定安装,【Y】即可

java -version

  

  • 注意:如果出现版本,代表 Java 环境安装成功!

二、安装 Git 环境

yum install git

提示是否确定安装,【Y】即可

git version

  •  注意:如果出现版本,代表 Git 环境安装成功!

 配置 Git SSH 密钥,如图所示,输入自己的基本信息,其余一律回车即可成功生成证书

git config --global user.name "xxx"

git config --global user.email"xxx@yyy.com"

ssh-keygen -t rsa -C "xxx@yyy.com"

查看公钥,并添加到 Git 账号上

ssh git@github.com

  •  注意:看到 successfully 即可校验成功!(其他 Git 地址需要替换噢,这里指的是 Github)

三、安装 Maven 环境

wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.zip

unzip apache-maven-3.8.1-bin.zip

# 配置环境变量
vim /etc/profile

输入我们自己对应的 Maven 安装目录位置即可

然后保存后,重新加载环境变量配置文件以及验证 Maven 是否生效

mvn -version

  • 注意:如果出现版本,代表 Maven 环境安装成功!

四、安装 Tomcat 环境

wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.69/bin/apache-tomcat-8.5.69.zip

 

# 解压 Tomcat
unzip apache-tomcat-8.5.69.zip

然后赋值操作权限对 Tomcat,这步骤一定要搞,否则后面会采坑~

紧接着进入 Tomcat 配置

# 赋值权限
chmod a+x -R *

# 可以修改 Tomcat 端口号
vim conf/server.xml

# 启动 Tomcat
bin/startup.sh

 

  • 注意:如果出现该页面,代表 Tomcat 环境安装成功!

Jenkins Env(Jenkins 服务器)

1、进入 Jenkins 官网并下载 Jenkins.war,选择如图所示箭头所指部分即可

下载地址:https://www.jenkins.io/zh/download

2、下载好后,执行以下命令即可启动 war 包,如图所示

java -jar jenkins.war

 注意:此时的 Tomcat 和 Java 环境搭建在下面目标服务器上也会提到,这里不做解释。

3、启动完成后,在浏览器上输入地址以及启动密码,如图所示

localhost:8080

密码的位置是在图中高亮部分的里面,查看该文件内容即可,如下图所示

当然现在最新 Jenkins 版本,可能启动完就会把密码显示在命令窗口上;然后复制该密码输入到网页即可 

4、安装选项,选择左边建议选项,右边是自定义,新手推荐选左边即可(安装需要一段时间,耐心等待)

5、填写相关注册信息即可

6、进入【系统管理】【插件管理】安装 2 个常用插件 (Rebuild、Safe Restart),可以一起选好后再点【直接安装】

7、将目标服务器注册到 Jenkins 上,点击【系统管理】【管理节点】【新建节点】【节点名称】【勾选 Permanent Agent】【OK】

8、配置目标服务器相关信息,如图所示,填写完【保存】即可

如果看到以下信息,说明连接成功,可以点击【刷新状态】

9、构建任务:【新建 Item】【任务名称】【Freestyle project】【确定】

10、配置任务信息,如图所示,没标注的其他可以照抄(非关键),标注箭头的仔细看,最后点【保存】即可

当然这里最后涉及到一个 sh 脚本,代码如下

#!/usr/bin/env bash

killTomcat() {
  pid = `ps -ef|grep tomcat|grep java|awk '{print $2}'`
  echo "tomcat id list: $pid"
  if ["$pid"=""]
  then
    echo "no tomcat pid alive"
  else
    kill -9 $pid
  fi
}

cd $PROJECT_PATH/disk

mvn clean install

killTomcat

rm -rf $TOMCAT_APP_PATH/webapps/ROOT
rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
rm -f $TOMCAT_APP_PATH/webapps/disk.war

cp $PROJECT_PATH/disk/target/disk.war $TOMCAT_APP_PATH/webapps/

cd $TOMCAT_APP_PATH/webapps/

mv disk.war ROOT.war

cd $TOMCAT_APP_PATH/

sh bin/startup.sh

11、一切就绪,点击【Build Now】即可触发

以上是关于Jenkins - 一篇就能上手 Jenkins 自动化部署的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins 凭证管理 - 看这一篇就够了~

持续集成工具Jenkins看这篇就够啦!

Jenkins快速上手

如何用 Helm 管理 Jenkins,看这篇就够了

10 个 Jenkins 实战经验,助你轻松上手持续集成

使用 Jenkins 搭建 iOS/Android 持续集成打包平台