0
点赞
收藏
分享

微信扫一扫

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

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

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

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

java -version

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

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

二、安装 Git 环境

yum install git

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

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

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

git version

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

  • 注意:如果出现版本,代表 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"

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

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

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

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

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

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

ssh git@github.com

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

  • 注意:看到 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

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

unzip apache-maven-3.8.1-bin.zip

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

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

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

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

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

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

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

mvn -version

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

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

四、安装 Tomcat 环境

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

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

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

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

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

紧接着进入 Tomcat 配置

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

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

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

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

# 启动 Tomcat
bin/startup.sh

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

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

Jenkins Env(Jenkins 服务器)

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

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

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

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

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

java -jar jenkins.war

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

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

localhost:8080

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Jenkins - 一篇就能上手 Jenkins 自动化部署_Maven Tomcat_40Jenkins - 一篇就能上手 Jenkins 自动化部署_Linux Git Java_41

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

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

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

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

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

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

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

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

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

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

当然这里最后涉及到一个 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 自动化部署_Maven Tomcat_49


举报

相关推荐

0 条评论