Jenkins持续集成案例之-自动化部署

简介:

Jenkins是一个开源软件项目,目的就是提供了一个开放的软件平台,让我们实现软件集成变成可能,我们经常听到企业中讲CI、CD两个名词,这些都可以跟jenkins联系在一起,实现持续集成,持续部署及持续交付;

在企业中,Jenkins一般都是批量部署多台web服务、或者应用程序、多个网站,今天带大家来学习一下Jenkins批量构建同一网站-多台服务器的操作案例:

一、Jenkins后台配置

1)点击工程名称-配置-构建后操作-设置Jenkins编译打包完后,war包存放的位置,如下图:

wKiom1isA27CdGzKAAA_KmE8Cns169.png

2)然后输入如下配置:**/target/*.war

wKiom1isA42S2bwMAAAqBxvC0Ck918.png

3)如上-构建触发器-一个构建步骤,选择Add-post-build step-Excuteshell

wKioL1isA6CT8HoyAAAuKpOSnPU140.png

4)然后把脚本内容写入即可

wKioL1isA7nwk9xEAABDRSHx08c482.png

5)代码如下:

1
2
3
rm  -rf  /root/ .jenkins /workspace/jfedu/target/edu .war
cp /root/ .jenkins /workspace/jfedu/target/edu .war  /root/ .jenkins /jobs/jfedu/builds/lastSuccessfulBuild/archive/target/
ssh   root@121.42.183.93   'bash -x -s'  /data/sh/auto_deploy .sh

二、Jenkins部署脚本

#!/bin/bash

#Auto deployTomcat for jenkins perf

#by authorwugk 2016-07-06

exportJAVA_HOME=/usr/java/jdk1.6.0_25

TOMCAT_PID=`/usr/sbin/lsof-n -P -t -i :10013`

TOMCAT_DIR="/usr/local/tomcat/"

FILES="jfedu.war"

DES_DIR="/export/data/tomcatRoot/ptest.jd.com/"

DES_URL="http://123.57.11.203:8080/job/Ptest_Online/lastSuccessfulBuild/target"

BAK_DIR="/export/backup/`date+%Y%m%d-%H%M`"

[ -n"$TOMCAT_PID" ] && kill -9 $TOMCAT_PID

cd $DES_DIR

rm -rf $FILES

mkdir -p $BAK_DIR;\cp-a $DES_DIR/* $BAK_DIR/

rm -rf$DES_DIR/*

wget$DES_URL/$FILES

/usr/java/jdk1.6.0_25/bin/jar -xvf  $FILES

####################

cd$TOMCAT_DIR;rm -rf work

/bin/sh$TOMCAT_DIR/bin/start.sh

sleep 10

tail -n 50 $TOMCAT_DIR/logs/catalina.out

提示:如果有多台,怎么去部署,可以发散思维哟!!!可以考虑结合底层saltstack、Ansible工具去实现。

wKioL1isBs_wFxmXAAAtc515M3k275.png

你若觉得作者的文章写得不错,请奖励作者几锭银子,让作者感受到来自你满满的鼓励和继续创作的动力!我们支持原创!鼓励原创!

打赏之后,文章底部显示参与打赏者的记录,可以直接通过微信扫描打赏哟,直接按打赏根据提示操作。

自定义打赏金额,友情提示打赏金额不要超过50元哦,土豪可以随意哦,51CTO谢谢您对作者的支持!谢谢你的慷慨大方!

wKioL1lDsc3i7hEqAAAfoPude7I249.png



本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1899910

相关文章
|
3月前
|
敏捷开发 测试技术 持续交付
探索软件测试中的自动化与持续集成
在快速迭代的软件开发环境中,自动化测试和持续集成(CI)已成为确保产品质量和加速交付的关键策略。本文将深入探讨自动化测试的基本原理、实施步骤以及它如何与持续集成流程相结合,以提高软件开发的效率和可靠性。我们将通过实际案例分析,展示自动化测试和CI的最佳实践,以及它们如何帮助企业实现更快的市场响应时间和更高的客户满意度。
77 16
|
3月前
|
机器学习/深度学习 人工智能 jenkins
软件测试中的自动化与持续集成实践
在快速迭代的软件开发过程中,自动化测试和持续集成(CI)是确保代码质量和加速产品上市的关键。本文探讨了自动化测试的重要性、常见的自动化测试工具以及如何将自动化测试整合到持续集成流程中,以提高软件测试的效率和可靠性。通过案例分析,展示了自动化测试和持续集成在实际项目中的应用效果,并提供了实施建议。
|
2月前
|
机器学习/深度学习 人工智能 jenkins
探索软件测试中的自动化与持续集成
【10月更文挑战第21天】 在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的进步和开发模式的转变,自动化测试和持续集成已经成为提高软件质量和效率的关键手段。本文将深入探讨自动化测试和持续集成的概念、实施策略以及它们如何相互配合以优化软件开发流程。我们将通过分析实际案例,展示这些技术如何在实际项目中发挥作用,以及面临的挑战和解决方案。此外,文章还将讨论未来趋势,包括人工智能在测试领域的应用前景。
94 17
|
2月前
|
监控 jenkins Linux
从 Jenkins 持续集成出发:探究如何监控员工电脑屏幕
Jenkins 在企业信息化管理中用于自动化构建、测试和部署,提高开发效率。本文讨论了其重要性,并从技术角度探讨了屏幕监控的可能性,但明确反对非法监控,强调应合法合规地管理企业和尊重员工隐私。
91 12
|
2月前
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
65 5
|
3月前
|
jenkins 测试技术 持续交付
探索自动化测试在持续集成中的应用与挑战
本文深入探讨了自动化测试在现代软件开发流程,特别是持续集成(CI)环境中的关键作用。通过分析自动化测试的优势、实施策略以及面临的主要挑战,旨在为开发团队提供实用的指导和建议。文章不仅概述了自动化测试的基本原理和最佳实践,还详细讨论了如何克服实施过程中遇到的技术难题和管理障碍,以实现更高效、更可靠的软件交付。
|
2月前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成
在现代软件开发过程中,自动化测试和持续集成已成为不可或缺的组成部分。本文将深入探讨自动化测试和持续集成的重要性、优势以及如何有效实施它们以提升软件质量和开发效率。通过具体案例分析,我们将展示这些技术如何在实际项目中发挥作用,并讨论其面临的挑战及应对策略。
77 3
|
3月前
|
jenkins 机器人 测试技术
自动化与持续集成
自动化和持续集成(CI)是现代软件开发的重要实践。自动化通过技术手段执行任务,减少人工干预,提升效率和质量。持续集成则强调频繁将代码变更集成至共享库,伴随自动化构建和测试,旨在早期发现问题,加速迭代,提高代码质量。常见CI工具有Jenkins、Travis CI等,支持多语言和框架,促进高效协作与快速反馈。
|
3月前
|
监控 安全 测试技术
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性
在自动化和持续集成中,确保代码安全与合规至关重要。措施包括集成自动化安全工具、执行自动化合规检查、进行代码质量与安全检测、评估开源代码安全、实施基础设施即代码的安全标准、采用多层防御策略、加强安全教育与文化建设、使用合规性检测工具及许可证合规分析等,共同提升代码安全性与合规水平。
|
3月前
|
监控 测试技术 持续交付
自动化和持续集成在软件开发中各自扮演什么角色
在软件开发中,自动化与持续集成(CI)相辅相成,共同提升开发效率和软件质量。自动化通过高效执行测试、构建和部署等重复任务,减少人为错误,确保流程一致性,并支持持续部署。CI则通过频繁集成代码变更、提供快速反馈、提高代码质量和促进团队协作,简化部署过程。两者结合,极大优化了软件开发流程。

热门文章

最新文章