从零开始的云计算生活——第五十九天,基于Jenkins自动打包并部署Tomcat环境

发布于:2025-09-06 ⋅ 阅读:(14) ⋅ 点赞:(0)

目录

一.故事背景

二.流程介绍

传统网站部署的流程

传统代码上线的过程

目前主流网站部署的流程

三.常用Git命令清单

git命令

四.配置git主机

1. 配置git用户信息

2.克隆项目代码同步到自己创建的仓库中

五. 配置jenkins主机

添加SSH

配置 JDK、Maven、Git 环境

六.下载配置tomcat

备份删除ROOT内容

发布公钥给jenkins主机

七.新建Maven项目

配置bulid

构建后操作

八.总结


一.故事背景

基于之前所学的知识,进行一个部署tomcat来实现项目完成

二.流程介绍

传统网站部署的流程

        在运维过程中,网站部署是运维的工作之一。传统的网站部署的流程大致分为:需求分 析-->原型设计-->开发代码-->提交代码-->内网部署-->内网测试-->确认上线-->备份数据-->外网更新-->外网测试-->发布完成。如果在内网测试时发现代码有异常,返回代码开发人员名字,调整代码;如果在外网测试时发现外网部署的代码有异常,可以及时进行网站回滚。

传统代码上线的过程

        开发人员发起代码上线的需求(邮件中包含开发做好的WAR包)-->运维人员连接线上负载调度器(Nginx)--> 隔离一组服务器(Tomcat)--> 连接服务器(Tomcat)--> 备份旧代码(tar打包)--> 删除旧代码目录 --> 上传新的WAR包 --> 外网测试 --> 测试不通过则通过备份回滚代码 --> 测试通过则利用rsync的脚本推送代码到其他服务器--> 统一外网测试 -->连接调度器恢复隔离机制 --> 隔离另一组服务器实施上线步骤 --> 上线完成。

目前主流网站部署的流程

目前主流网站部署方法:通过 Hudson/Jenkins 工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,属于开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins 非常易于安装和配置,简单易用。

  • 开发人员:写好代码,不需要自己进行源码编译、打包等工作,直接将代码分支存放在 SVN、Git 仓库即可。

  • 运维人员:减轻人工干预的错误率,同时解放运维人员繁杂的上传代码、手动备份、更新等操作。

  • 测试人员:可以通过 Jenkins 进行简单的代码及网站测试。

Jenkins 的工作原理是先将源代码从 SVN/Git 版本控制系统中拷贝一份到本地,然后根据设置的脚本调用Maven进行 build(构建)。整个系统的关键就是 build 脚本,build 脚本告诉Jenkins 在一次集成中需要执行的任务。

三.常用Git命令清单

下面是整理的常用 Git 命令清单。几个专用名词的译名如下。

  • Workspace:工作区

  • Index / Stage:暂存区

  • Repository:仓库区(或本地仓库)

  • Remote:远程仓库

git命令

用法:git [--version] [--help] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

最常用的 git 命令有:
   add        添加文件内容至索引
   bisect     通过二分查找定位引入 bug 的变更
   branch     列出、创建或删除分支
   checkout   检出一个分支或路径到工作区
   clone      克隆一个版本库到一个新目录
   commit     记录变更到版本库
   diff       显示提交之间、提交和工作区之间等的差异
   fetch      从另外一个版本库下载对象和引用
   grep       输出和模式匹配的行
   init       创建一个空的 Git 版本库或重新初始化一个已存在的版本库
   log        显示提交日志
   merge      合并两个或更多开发历史
   mv         移动或重命名一个文件、目录或符号链接
   pull       获取并合并另外的版本库或一个本地分支
   push       更新远程引用和相关的对象
   rebase     本地提交转移至更新后的上游分支中
   reset      重置当前HEAD到指定状态
   rm         从工作区和索引中删除文件
   show       显示各种类型的对象
   status     显示工作区状态
   tag        创建、列出、删除或校验一个GPG签名的 tag 对象

四.配置git主机

下载git

yum install -y git

创建一个git用户,并且登录到该用户

在object目录下新建一个git数据库

显示当前的Git配置

git config --list

git config --global init.defaultBranch master

1. 配置git用户信息

2.克隆项目代码同步到自己创建的仓库中

git clone git@192.168.71.131:/home/git/object.git

将exam项目中的代码拷贝到dc/目录中

将当前目录下的所有修改或新增的文件添加到Git的暂存区,设置全局的用户邮箱地址,用户名

将本地代码变更提交到本地仓库,并添加一条简短的提交信息

将本地仓库的提交推送(上传)到远程仓库

使用git config -e 设置如图,增加新内容

五. 配置jenkins主机

添加SSH

配置 JDK、Maven、Git 环境

修改阿里云仓库

配置环境变量

export MAVEN_HOME=/usr/local/maven3
export PATH=${PATH}:${MAVEN_HOME}/bin

六.下载配置tomcat

访问测试tomcat 192.168.71.130:8080

备份删除ROOT内容

发布公钥给jenkins主机

ssh-keygen 

ssh-copy-id 192.168.71.131

七.新建Maven项目

主机Jenkins默认用jenkins用户去连接git,所以用jenkins用户生成密钥对,并发送给git。

su -s /bin/bash jenkins 

回来发现报错消失

配置bulid

构建后操作

选择“构建后操作“中的“send build artfacts over SSH” “Exec command”中执行命令的含义是:在自动部署前先杀掉 Tomcat 进程,然后删除 war 包,用 scp 远程拷贝命令将 Jenkins 自动打包好的项目包拷贝到当前 Tomcat 应用目录。 然后重启 Tomcat 。

/usr/local/tomcat/bin/shutdowm.sh 


rm -rf /usr/local/tomcat/webapps/*


scp 192.168.71.129:/var/lib/jenkins/workspace/object/* /usr/local/tomcat/webapps/


/usr/local/tomcat/bin/startup.sh

注意:项目需要匹配正确的java8版本以及maven版本,要考虑不兼容问题,下载正确的版本即可完成构建。        

八.总结

        本文介绍了传统和现代的网站部署流程,重点讲解了使用Tomcat部署项目的完整步骤。传统部署流程包括代码提交、备份、测试等环节,而现代主流方法则通过Jenkins实现自动化部署。文章详细列出了常用的Git命令和配置方法,并说明了如何配置Jenkins主机环境。最后,给出了在Tomcat上部署Maven项目的具体操作步骤,包括构建后执行的SSH命令和注意事项。整个部署过程涵盖了从代码管理到自动化构建、测试和发布的完整DevOps流程。


网站公告

今日签到

点亮在社区的每一天
去签到