小白到运维工程师自学之路 第七十九集 (基于Jenkins自动打包并部署Tomcat环境)1

一、传统的流程

1、传统网站部署的流程

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

小白到运维工程师自学之路 第七十九集 (基于Jenkins自动打包并部署Tomcat环境)1_第1张图片

 2、传统代码上线的过程

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

二、目前主流的流程

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

  1. 开发人员:写好代码,不需要自己进行源码编译、打包等工作,直接将代码分支存放在 SVN、Git 仓库即可。
  2. 运维人员:减轻人工干预的错误率,同时解放运维人员繁杂的上传代码、手动备份、更新等操作。
  3. 测试人员:可以通过 Jenkins 进行简单的代码及网站测试。

小白到运维工程师自学之路 第七十九集 (基于Jenkins自动打包并部署Tomcat环境)1_第2张图片

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

小白到运维工程师自学之路 第七十九集 (基于Jenkins自动打包并部署Tomcat环境)1_第3张图片

 三、安装部署

1、配置git

我的git是系统自带的所以就直接用了

访问https://mirrors.edge.kernel.org/pub/software/scm/git/下载所需要的版本

yum -y install java                        git需要jdk
useradd git                                创建一个git用户
echo "123456" | passwd --stdin git         修改密码
su - git                                   登录git
mkdir probe.git                            创建仓库
cd probe.git                               进入仓库
git --bare init                            初始化仓库
exit                                       退出
rz                                         上传psi-probe.tar.gz
tar xf psi-probe.tar.gz                    解压
git clone [email protected]:/home/git/probe.git  克隆
cp -rf psi-probe/* probe/                  复制         
cd probe/  
git add .                                  将当前目录下的所有文件提交到暂存区
git config --global user.email "[email protected]" 创建邮箱
git config --global user.name "syh"        创建用户
git commit -m "all probe"                  将暂存区的所有文件提交到仓库中
git push origin master                     将文件推送到远程仓库中 

2、配置jenkins

①、添加凭证

                     

小白到运维工程师自学之路 第七十九集 (基于Jenkins自动打包并部署Tomcat环境)1_第4张图片

 创建完成

小白到运维工程师自学之路 第七十九集 (基于Jenkins自动打包并部署Tomcat环境)1_第5张图片

 ②、添加 Publish Over SSH 远程主机  (需要在jenkins页面上安装Publish Over SSH插件)

拉到最后点击保存即可

③、配置 Maven、JDK、Git 环境

(1)JDK

(2)maven(需要在jenkins页面安装Maven Integration插件)

在Jenkins安装maven
tar xf apache-maven-3.5.0-bin.tar.gz 
mv apache-maven-3.5.0 /usr/local/maven

为maven更换阿里云镜像站
vim /usr/local/maven/conf/settings.xml

        nexus-aliyun
        central
        Nexus aliyun
        http://maven.aliyun.com/nexus/content/groups/public

在Jenkins上操作

(3)git

以上全局基本配置完毕后,拉到最后点击保存即可完成。

3、配置web主机

yum -y install java
tar xf apache-tomcat-8.5.40.tar.gz
mv apache-tomcat-8.5.40 /usr/local/tomcat

发布公钥给jenkins主机
ssh-keygen
ssh-copy-id 192.168.77.18

在jenkins端操作
主机Jenkins默认用jenkins用户去连接git,所以用jenkins用户生成密钥对,并发送给git。
id jenkins
su -s /bin/bash jenkins
ssh-keygen
ssh-copy-id [email protected]
ssh [email protected]    
exit

小白到运维工程师自学之路 第七十九集 (基于Jenkins自动打包并部署Tomcat环境)1_第6张图片

ssh-keygen
ssh-copy-id [email protected]

小白到运维工程师自学之路 第七十九集 (基于Jenkins自动打包并部署Tomcat环境)1_第7张图片

由于篇幅限制本篇文章分为1和2

 

 

你可能感兴趣的:(运维,jenkins,tomcat)