「轻阅读」教你使用Jenkins自动化部署,让你拥有更长摸鱼时间

35岁的程序员 2019-12-31 17:52:52 ⋅ 657 阅读
https://www.toutiao.com/a6771696910248968715

引言

我们在开发过程中经常需要修改本地代码,并提交到git或svn。要运行程序则需要将svn或git上的代码编译并部署到web服务器。这个部署如果是手动的则每次都需要执行编译命令,再手动把war文件之类拷贝到服务器,最后重启tomcat,次数多了就会显得很繁琐。Jenkins就是为了解决自动化部署而生。

1. 下载安装Jenkins

安装前提是你已经装好了java跟tomcat。

1.1 点击download后最后有个war文件下载。点击下载到本地。




然后放到tomcat的webapps目录下,注意文件超过了50M,需要修改Tomcat安装目录下的/manager/WEB-INF/web.xml。把以下配置注释掉。

<!-- <max-file-size>52428800</max-file-size> -->

1.2 启动tomcat,浏览器访问localhost:8080/jenkins

出现以下界面,提示你输入密码。密码在红色字表示的文件中。


选择安装推荐的插件。这里需要一些时间。


创建管理员账户。


这样就是安装完成了。



2. Web服务器端安装Maven、git

下载Maven,用来编译工程。下载git用来自动获取git服务器最新代码。

2.1 Maven官网找到下载地址,通过Wget获取

Maven官网 maven.apache.org/download.cg…
cd /usr/local/
下载
wget http://us.mirrors.quenda.co/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
解压缩
tar xvzf apache-maven-3.6.3-bin.tar.gz

2.2 设置Maven环境变量

编辑/etc/profile,末尾添加以下两行。

M2_HOME=/etc/local/apache-maven-3.6.3
export PATH=${M2_HOME}/bin:${PATH}

重载设置

source /etc/profile

验证是否安装成功

mvn -v

2.3 安装git

yum install git

3. 将Web服务器注册到Jenkins节点中

如果你的Jenkins安装到了Web服务器中,可以省略这个步骤,因为Jenkins默认创建了一个叫做master的节点代表Jenkins安装的机器。相反,如果Jenkins装到了本地机器,为了能够部署到远程的Web服务器中,你需要本步骤把Web服务器作为节点注册到Jenkins中。如下图,就是已经系统建好的了master,跟我创建的测试节点TestEnv。



节点的创建步骤如下。首先选择Build Executor Status。


点击新建节点。


输入节点名,选择Permanet Agent,点击OK。



接下来填写配置。

  • Remote root directory 是你的在web服务器上的工作根目录。我这里用root登录,把工作目录放在/root/jenkins下。

  • Launch agent agents via SSH。这个代表用SSH登录。

  • Host 填写你的Web服务器地址

  • Credentials 填写你的登录账户密码

  • Host Key Verification Strategy 选择Known hosts file Verification Strategy

最后点击保存就可以完成节点的创建。


4. Jenkins创建任务

点击 创建新任务 进入项目创建界面



填写任务名,选择自由风格的工程。


这里要选择节点,也就是刚才我们注册的TestEnv节点。


如下图,我使用git,所以需要填写以下内容。

  • Repository URL, git的http仓库地址

  • Credentials, 登录需要的用户名密码

  • Branch Specifer , git的分支

  • Check out to s sub-directory, 任意填写一个子目录名用于下载代码



最后,添加要执行的shell,并且保存设置。



代码如下。

BUILD_ID=DONOTKILLME

. /etc/profile

export PROJ_PATH=`pwd`
export TOMCAT_APP_PATH=/usr/local/apache-tomcat-9.0.30

#编译代码
cd $PROJ_PATH/siled
mvn clean install

#删除原有的war文件
rm -rf $TOMCAT_APP_PATH/webapps/*.war

#关闭tomcat
$TOMCAT_APP_PATH/bin/shutdown.sh

#拷贝新的war
cp $PROJ_PATH/siled/target/*.war $TOMCAT_APP_PATH/webapps/

#重启tomcat
$TOMCAT_APP_PATH/bin/startup.sh

5. 尝试部署

点击Build now,立即构建。


构建完成后会有如下的结果。蓝色表示构建成功。数字表示次数。点击数字



点击控制台输出。



可以确认结果是成功的。




6. 验证部署应用

访问应用地址,可以看到自动部署成功。




全部评论: 0

    我有话说:

    阅读」阿里云-开放平台高级技术家搭建微服务架构的四大金刚利器

    孔凡勇,花名云狄,阿里云-开放平台高级技术家,对高并发、高性能、高可用、可伸缩的分布式系统架构设计有丰富经验,Cloud Native坚定拥护者,坚守开发一线打磨匠艺的架构师。

    阅读」Mysql调优不得不知的细节

    多数时候数据库会成为整个系统的瓶颈

    阅读」为什么在做微服务设计的时候需要DDD?

    的设计蓝图里为什么没有看到DDD的影子呢?

    UCloud 5 元/月云主机,值得拥有

    UCloud 5 元/月云主机,值得拥有

    阅读」图文并茂带了解分布式架构的演进

    初始阶段架构初始阶段 的小型系统 应用程序、数据库、文件等所有的资源都在一台服务器上通俗称LAMP

    阅读」“来我公司做技术总监吧” “要写代码吗?” “不写代码来干嘛?”

    标题来源于一段真实的对话,老赵,小李都是我的朋友,我作为中间人介绍他们认识,我们约在上海码农圣地--张江某咖啡馆。

    阅读」移动端事件穿透的原理与解决方案

    本文将带了解事件穿透及如何在实际项目中选择合适的方案解决事件穿透问题。

    Mac安装VM虚拟机/Centos7配置与使用

    的Mac拥有多个windows虚拟桌面!

    手把手用Spring Cloud + Redis 是实现点赞功能,包包会

    ; 这玩意是怎么实现的呢?我来手把手实现,其...

    阅读」轻松理解 Kubernetes 的核心概念

    Kubernetes 迅速成为云环境中软件部署和管理的新标准。

    阅读」亿级用户的分布式数据存储解决方案

    分布式数据库和分布式存储是分布式系统中难度最大、挑战最大,也是最容易出问题的地方。互联网公司只有解决分布式数据存储的问题,才能支撑多次亿级用户的涌入。

    架构实战篇(二)-Spring Boot整合Swagger,的API可视化

    还在跟前端对接上花费很多的时间而没有效果吗?还在为写接口文档而烦恼吗?今天就教大家一个接口对接神器...

    能够替代 Jenkins 的13个解决方案,了解下!

    Jenkins 是目前最常用的持续集成工具,拥有近 50% 的市场份额,它还是很多技术团队的第一个使用自动化工具。但是随着自动化领域的持续发展,Jenkins 逐渐暴露出了一些问题,例如缺乏功能

    阅读使用 Angular 打造微前端架构的 ToB 企业级应用

    转载自:https://www.cnblogs.com/worktile/p/11940244.html

    好的理解Node.js中的Buffer吗?看一下这个。

    不论是否是科班出身,认真读完,想必会给带去一些收获.

    阅读」京东商城交易系统的演进之路

    原文:https://www.toutiao.com/i6762874634867048963商城服务如图所