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

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

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

一、Jenkins后台配置

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

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

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

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

5)代码如下:

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  [email protected]  ‘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工具去实现。

时间: 2024-12-11 09:19:06

Jenkins持续集成案例之-自动化部署的相关文章

Jenkins持续集成案例之-运维部署方式

大家在运维过程中,网站部署是运维的工作之一,中小型公司传统网站部署的流程大致分为如下方法: 需求分析-原型设计-开发代码-提交测试-内网部署-确认上线-备份数据-外网更新-最终测试,如果发现外网部署的代码有异常,需要及时回滚.(如下图所示) 案例演示:部署LAMP网站,同时更新网页内容,检查效果! 更新完后的网站内容: 目前主流网站部署方法,通过Hudson/Jenkins工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集

12.Jenkins持续集成企业实战

阅读目录: Jenkins持续集成企业实战1.1 目前主流网站部署的流程1.2 Jenkins持续集成简介1.3 Jenkins持续集成组件1.4 Jenkins平台安装部署1.5 Jenkins相关概念1.6 Jenkins平台设置1.7 Jenkins构建JOB工程1.8 Jenkins自动化部署1.9 Jenkins插件安装1.10 Jenkins邮件配置1.11 Jenkins多实例配置1.12 Jenkins+Ansible高并发构建 Jenkins持续集成企业实战 构建企业自动化部署

Jenkins持续集成-自动化部署脚本的实现《python》

读者须知:1.本手记本着记续接前面的两张手记内容整理2.本手记针对tomcat部署测试环境实现 最近工作比较繁忙,导致这章一直拖延,没有太抽出时间来总结.要实现Jenkins端的持续集成,其实在CI服务配置端很容易,难点呢?就是如何实现自动化的部署.我的脚本设计就是为了解决以下难题: 难点一.如何使得自动化部署脚本更通用 我用的脚本,依赖依赖一个配置文件的模块化,让每一个应用业务模块更加通用.自动化所执行的命令呢?我也是设计想法本着更加通用平台的原则,至少对于tomcat+java or jav

Linux-GitLab+Jenkins持续集成+自动化部署

GitLab+Jenkins持续集成+自动化部署 什么是持续集成? (1)Continuous integration (CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译.发布.自动化测试)来验证,从而尽快地发现集成错误.许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件. (2)没有持续集成 项目做模块集成的时候,发现很多接口都不通==>浪费大量时间 需

jenkins持续集成工作原理、功能、部署方式等介绍

超详细的jenkins持续集成工作原理.功能.部署方式等介绍 原创 波波说运维 2019-08-29 00:01:00 概述 今天简单整理了一下jenkins的一些概念性内容,归纳如下: 1.概念 jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时 Jenkins 能实时监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性. Jenkins可以构建一个自动化的持续集成

jenkins持续集成--看我如何从1到代码自动部署

jenkins持续集成看我如何从1到代码自动化部署 背景 近期由于工作原因需要学习jenkins持续化集成.对于一个好学又帅气的我来说.学习他还不是手到擒来.公司为一个中小型创业公司,在部署代码上面,很少用gitlab.jenkins等等,也没有清晰的生产环境-测试环境-线上环境之分.唯一有的就是写完代码-登陆服务关闭服务,上传代码-开启服务.这样往往会到来很多问题,同时也会给程序员带来很多繁琐的工作.这不,公司内部整顿,需要一套清晰的流程,而且为了减轻程序员的负担,于是就希望采用gitlab+

接口自动化平台搭建(四),自动化项目Jenkins持续集成

一.Jenkins的优点 1.传统网站部署流程 ??一般网站部署的流程 这边是完整流程而不是简化的流程 需求分析-原型设计-开发代码-内网部署-提交测试-确认上线-备份数据-外网更新-最终测试 ,如果发现外网部署的代码有异常,需要及时回滚. 一般是运维来做 1.功能测试 2.上线的时间 3. jenkins 4.运维 5.功能测试 2.Jenkins部署流程 ??我们可以通过jenkins工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台

持续集成与自动化部署 - dev ops &amp; 持续集成、交付、部署 介绍 (三)

1 什么是devops DevOps是一种文化,让开发.测试.运维之间沟通的文化. 过程.方法.系统的统称.目标:让软件从构建,开发,测试,上线,更加的快捷 安全的上线. 列如saltstack他就是一个devops的工具.自动话测试平台也是devops 2 持续集成.交付.部署介绍 2.1 继续集成 在软件开发的过程中,频繁的将代码集成到主干上,然后进行自动化测试. 2.2 持续部署 持续交付是指在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-

Jenkins持续集成学习及企业级应用

文档声明 该文档主体为去年末自主学习时总结,旨在为我司提供一套企业级持续集成解决方案.这篇文章现在看上去很稚嫩,但是当时花费了许多心血.希望将当时的学习心得拿出来与大家交流.该文档主要说明了jenkins持续集成部署的相关步骤,并着重实现了权限分组,邮件配置,插件配置的jenkins实现过程.对出现的问题进行解决,是一套持续集成的解决方案. 持续集成Continuous integration 提出 针对复杂度高的项目提出“早集成,常集成,频繁集成”来帮助项目在早期发现项目风险和质量问题 作用