当前位置: 首页 > news >正文

柳州建设网站经济适用房表格wordpress 会员发文

柳州建设网站经济适用房表格,wordpress 会员发文,网站说建设中,兰州做网站公司Jenkins 是一个开源软件项目#xff0c;旨在提供一个开放易用的软件平台#xff0c;使软件的持续集成变得可能。现在软件开发追求的是效率以及质量#xff0c;Jenkins使得自动化成为可能#xff01; 亮点 采用shell自定义脚本,控制集成部署环境更加方便灵活精简war包中的li… Jenkins 是一个开源软件项目旨在提供一个开放易用的软件平台使软件的持续集成变得可能。现在软件开发追求的是效率以及质量Jenkins使得自动化成为可能 亮点 采用shell自定义脚本,控制集成部署环境更加方便灵活精简war包中的lib包,常驻tomcat里减少war包传输时间Jenkins 用户权限管理构建失败发邮件通知相关人员解决自动按天备份war包,Jenkins配置备份以及版本控制化环境 Ubuntu 14.10 (GNU/Linux 3.16.0-33-generic x86_64) 准备工作 Git版本控制服务器Tomcat发布服务器Jenkins服务器(提前安装好Maven,Git,Jdk)实验时可以在同一台机器配置但是生产不建议一台机器电源断掉了所有服务器都挂了。 步骤 安装Jenkins 下载Jenkins War包Jenkins官网 。 启动Jenkins 将War包放入Tomcat容器里启动Tomcat。 提示此时Jenkins在初始化配置目录其默认配置目录路径为当前用户下的.jenkins目录用户也可以自定义目录Jenkins默认是把配置文件中的数据读到内存中如果你替换了之前的配置文件此时需要点击「Jenkins的读取设置」或者「重启Tomcat」,如果此时Jenkins页面无响应则应该查看Tomcat的Catalina.out,多半是由于内存溢出造成(解决方法增大Tomcat调用Java虚拟机时内存大小,本文不做重点)运行Jenkins的服务器配置最好内存1G以上因为后续会加入一些Jenkins插件有一些会比较占用内存导致Jenkins启动不了。 安装Jenkins插件 Email Extension Plugin (邮件通知) GIT plugin (可能已经默认安装了) Publish Over SSH (远程Shell)安装方法首页-系统管理-管理插件-可选插件-过滤(搜索插件名)-勾选-点击最下面直接安装即可(需要等待一段时间,详情可以看catalina.out日志变化) 配置Jenkins 配置基本信息 每个选项后都有个问号解释当前含义(此步新手可以略过默认不填即可)配置方法首页-系统管理-系统设置 配置邮件 管理员邮件地址就是邮件的发件人地址(必须和后面邮件配置发件人邮箱一致否则发不成功邮件) 配置Jdk JAVA_HOME为Jdk路径 其中Jdk也可以从这里下载安装解压 配置 Maven 配置 Maven Configuration 路径为maven的setting.xml路径(Maven安装略) 配置Maven项目 配置Maven安装目录 配置 Git 其中Path to Git executable为你git执行的路径 一般默认是/usr/bin/git ,如有差异可以whereis git 配置邮件 邮件模板配置 配置好邮件的模板(可自定义html编写) User Name为用户名 Password为密码 SMTP不同邮箱不同,请自行google(另外gmail邮件如无代理翻墙请勿用推荐163比较好配置) 未翻墙 翻墙后 模板效果图 Default Subject 代码 构建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS! 模板Default Content分享 (本邮件是程序自动下发的请勿回复span stylecolor:red请相关人员fix it,重新提交到git 构建/span)br/hr/项目名称$PROJECT_NAMEbr/hr/构建编号$BUILD_NUMBERbr/hr/GIT版本号${GIT_REVISION}br/hr/构建状态$BUILD_STATUSbr/hr/触发原因${CAUSE}br/hr/构建日志地址a href${BUILD_URL}console${BUILD_URL}console/abr/hr/构建地址a href$BUILD_URL$BUILD_URL/abr/hr/变更集:${JELLY_SCRIPT,templatehtml}br/hr/ 配置邮件触发器当失败的时候会触发邮件通知这个功能比较实用。 配置 Publish over SSH 远程执行shell脚本 采用公钥私钥连接 其中Key里贴的是私钥 远程被管理的主机里贴的是公钥,这2台主机就是相互信任这样scp等操作就不需要输入用户名和密码。 公钥私钥生成方法 1.管理主机linux 上 ssh-keygen -t rsa -C mousycoderfoxmail.com 一路回车 会在/root/.ssh下生成id_rsa(私钥) id_rsa.pub(公钥)。 2.copy 公钥的内容到远程需要通信(被管理)的主机 /root/.ssh/authorized_keys 如无此目录文件则手动创建。 配置完之后可以Test Configuration 配置 Job 步骤:首页-新建-构建一个maven项目(输入item名称)-进入该项目-配置 JOB基本信息 项目源码管理Repository UR 项目地址 Credentials授权可以是SSH也可以是用户名密码(SSH方法同上) 选择需要构建的分支我们项目采用git工作流 默认master和develop 平时开发构建develop分支正式上线构建master并且打标签(前公司git提交标准化相当复杂分支相当多,这里大家可以根据实际情况来)。 构建触发器 这里我们选择poll轮询每隔1分钟去检测git仓库代码库版本,如果有更改则立刻构建这里大家可以根据自己团队实际情况去制定当然还有另外一个插件gitlab-hook可以主动去通知jenkins构建,不过插件所占内存比较大需要增大tomcat虚拟机内存配置不然会内存溢出。 构建命令 我们采用最简单的clean install 当然这里可以根据各自需求例如 部署后的产物上传到nexus等,详情参考 Maven命令 clean install deploy:deploy-file -DgroupIdcom.weitoo -DartifactIdcommon -Dversion0.1-SNAPSHOT -Dpackagingjar -DfileD:\workspace\server-aggregator\common\target\common-0.1-SNAPSHOT.jar -Durlhttp://192.168.0.200:8081/nexus/content/repositories/thirdparty/ -DrepositoryIdthirdparty Add post-build step 构建成功后执行shell命令 该shell的目的是取出war包lib中其他所有lib包 只留下common-0.1-SNAPSHOT.jar 大大减少war包大小(完整war包30M 传包到阿里云服务器需要2分多,精简后2M10秒多,大大提高构建速度)。 分享我的Shell mv ~/.jenkins/jobs/server/workspace/server/target/server/WEB-INF/lib/common-0.1-SNAPSHOT.jar ~/.jenkins/jobs/server/workspace/server/target/ rm -rf ~/.jenkins/jobs/server/workspace/server/target/server/WEB-INF/lib/* rm -rf ~/.jenkins/jobs/server/workspace/server/target/server.war mv ~/.jenkins/jobs/server/workspace/server/target/common-0.1-SNAPSHOT.jar ~/.jenkins/jobs/server/workspace/server/target/server/WEB-INF/lib/ cd ~/.jenkins/jobs/server/workspace/server/target/server/ zip -r ~/.jenkins/jobs/server/workspace/server/target/server.war * -r scp /root/.jenkins/jobs/server/workspace/server/target/server.war root123.56.xxx.xx:/opt/war/ 构建成功远程执行shell脚本 exec command 是远程sh的路径 分享我的publish.sh文件 作用是备份每次上传的war包 重启Tomcat。 export JAVA_HOME/opt/software/jdk1.7.0_25 TOMCAT_HOME/opt/software/apache-tomcat-7.0.59 TOMCAT_PORT80 PROJECTserver BAK_DIR/opt/war/bak/$PROJECT/date %Y%m%dmkdir -p ${BAK_DIR} cp /opt/war/${PROJECT}.war ${BAK_DIR}/${PROJECT}_date %Y%m%d%H%M%S.war#shutdown tomcat /opt/sh/kill-tomcat-force.sh#publish project rm -rf ${TOMCAT_HOME}/webapps/${PROJECT} cp /opt/war/${PROJECT}.war ${TOMCAT_HOME}/webapps/${PROJECT}.war q #remove tmp rm -rf /opt/war/${PROJECT}.war#unzip war unzip ${TOMCAT_HOME}/webapps/${PROJECT}.war -d ${TOMCAT_HOME}/webapps/${PROJECT}rm -rf ${TOMCAT_HOME}/webapps/${PROJECT}.war##copy lib cp /opt/lib/* ${TOMCAT_HOME}/webapps/${PROJECT}/WEB-INF/lib/## start tomcatsleep 3#start tomcat /opt/software/apache-tomcat-7.0.59/bin/startup.sh echo tomcat is starting!分享我的kill-tomcat-force.sh文件 作用是强制关闭tomcat进程 set fileformatunixpath/opt/software/apache-tomcat-7.0.59/binps -ef|grep $path|grep tomcat|awk {print $2}echo exec $path/shutdown.sh $path/shutdown.shsleep 3s#kill -9 pid ps -ef|grep $path|grep tomcat|awk {print $2}|xargs kill -9#success msg echo shutdown successps -ef|grep $path|grep java|awk {print $2}分享我的Tomcat精简方法 在tomcat_home/lib下新建自定义jar包文件导入项目所需其他jar包(以后有新增的话单独再导一次)修改tomcat_home/conf/catalina.properties 搜索shared.loader加上路径shared.loader${catalina.base}/lib/server,${catalina.base}/lib/server/*.jar,${catalina.home}/lib/server,${catalina.home}/lib/server/*.jar此时Tomcat运行前会加载server下的lib包如果是多个项目公用一个tomcat的时候就需要这里放公共的lib包避免tomcat加载多余的jar包,消耗内存。 构建后邮件设置 邮件主题收件人配置 邮件触发器 局部配置会覆盖掉全局配置,我们之前在全局配置里配置了构建失败邮件触发器,这里是更加精细的配置 我们选择构建失败Failure-1st触发器失败以后发邮件给开发者(这里可以根据实际需要配置可以配置多个触发器)开发者的邮件在Recipient List里配置。Jenkins用户权限管理 步骤首页- 系统管理- Configure Global Security基本配置:只有注册的用户才能操作,当然如果是大企业的话可以采用项目矩阵授权策略,详情可以Google。 Jenkins配置的备份和版本控制 很多情况下稍不注意改变了Jenkins的配置把平台弄坏了又想去恢复这个时候就得把Jenkins的配置文件进行配置或者版本化只需要把/root/.jenkins/加入git版本库里即可,该目录下包含Jenkins所有信息,包括每次构建历史信息和历史jar包进行全备份然后覆盖掉该文件夹的时候重新构建JOB会出现文件夹已经存在等exception只需要手动删掉这些目录即可不会丢失数据。(这是Jenkins的一个bug,参考 JENKINS-21330) 参考资料 Jenkins权威指南jdkleo感谢您的耐心阅读如果您发现文章中有一些没表述清楚的或者是不对的地方请给我留言你的鼓励是作者写作最大的动力如果您认为本文质量不错读后觉得收获很大不妨小额赞助我一下让我更有动力继续写出高质量的文章。 支付宝 微信作 者 : mousycoder 原文出处 : http://mousycoder.com/2015/10... 创作时间2015-6-11 更新时间2015-12-2
http://www.zqtcl.cn/news/554565/

相关文章:

  • 九江集团网站建设app广告对接平台
  • 个人网页网站制作模板搜索引擎营销经典案例
  • 北京自助建站系统思茅区建设局网站
  • 国外被动收入网站做的好的成都网站建设 川icp备
  • 网站的微信推广怎么做php在电子商务网站建设中的应用研究 戴书浩
  • 中山做网站有什么做logo网站
  • 建设网站要什么手续义乌简游网络科技有限公司
  • 深圳做企业网站的音乐网站设计
  • 互联网网站如何做菜鸟教程自学网
  • 网站模板上传工具网站报名照片怎么做
  • 做网站如何备案东城做企业网站多少钱
  • 建设手机网站的目的广告制作行业发展前景
  • 手工艺品网站建设目的长春有哪些网络设计公司
  • 重庆建设工程招标网站淮南58同城网
  • 有域名在本机上做网站psd素材
  • 做拍拍拍拍网站网站宣传的劣势
  • 建设银行官方网站诚聘英才亚马逊店铺出售网站
  • 佛山房地产网站建设万网域名查询接口
  • 新建的网站必须要备案吗优购物网
  • 陕西省住房和城乡建设厅官方网站智能网站建设制作
  • 英语故事网站建设镇江大港信息港
  • 接单做一个网站多少钱商河网站建设
  • 网站建设s南昌网站建设服务
  • 免费的素材网站有哪些重庆网页设计公司排名
  • 内网网站建设汇报即商通网站建设推广
  • 企业建站系统是什么学校的网站怎么做的
  • 哪个大学的网站做的最好看网页制作教材素材
  • 南里商濮阳网站建设福田附件网站建设公司
  • 监控性能网站模板网页设计公司找哪家
  • 校园网站建设教程安卓小程序开发入门