⑴ Jenkins 自动构建部署tomcat项目
Jenkins 是一个开源的、功能强大的应用程序,可持续集成并且持续交付项目。Jenkins自动构建项目的流程原理如下图所示:
用户通过将源码push到svn或者git等仓库上,然后Jenkins会定期pull检查仓库中的源码是否有变化。如发生变化则会重新构建测试项目并打包生成相应的文件存放在指定的目录,这过程中的完成情况可设置以邮件的形式反馈给管理员,并且管理员可登陆到Jenkins上查看相应项目的构建情况。接着项目构建成功后,Jenkins会把相应的项目包推送到指定的服务器上的指定目录下, 然后执行相应的命令进行项目的部署。
接着我们就来看看如何使用Jenkins完成tomcat项目的自动构建部署。
Jenkins的安装可参考: https://www.jianshu.com/p/f2da45e2bac7
在Jenkinsweb界面中的系统管理->系统配置 添加相应的SSH Servers:
如上图所示,添加相应的SSH Server的Ip、用户密码等信息,并设置远程主目录为根目录,也可以配置SSH key 实现免密认证访问。
因为本次实验中我需要构建 https://github.com/charliewch/game-of-life 此项目,因此在构建之前需要保证Jenkins能够连接上GitHub。此实验中,我的Jenkins运行在tomcat应用上,因此其运行用户为tomcat,所以需要使用tomcat用户生成相应的ssh key 然后设置到github 的 setting中。
把上述的id_rsa.pub内容复制粘贴到github的setting中的SSH and GPG keys上:
配置完成后,能够出现下述信息,说明tomcat 用户连接到github已经成功。
在系统管理->系统设置中找到下图的设置,并配置相关的邮件服务器信息
点击新建任务,输入项目名后选择构建一个自由风格的软件项目并确定保存。
在源码管理中添加git作为源码仓库。
设置轮询SCM为每15分钟轮询一次,此处的编写规则遵循crontab 任务的周期编写规则。
在构建增加调用顶层Maven模板的步骤,添加目标为clean package,用于将相应的java项目打包成war包,存放在target目录下。
在构建后的步骤中,新增Editable Email Notification,并在高级中配置触发邮件报警的条件:
此处设置的recipient List 为上一步设置的收件人列表
继续在构建后操作添加步骤:Send build artifacts over SSH
配置完成后点击保存即可
在Gameoflife任务的工作空间中,点击立即构建按钮触发新的构建,点击Build history可查看相应的构建情况:
另外在相应的构建任务中点击查看控制台输出,能够查看构建的结果及相应信息输出,有助于排查错误。
从下图看到,报警邮件也触发成功了。
最后,此时如果用户对修改相应的git仓库的中源码,在下一次git轮询Jenkins会自动触发相应的项目构建并进行推送部署,用户可查看相应的git轮询日志来查看轮询的情况。
⑵ 都有哪些好用的项目管理软件这5款值得一试
随着市场竞争加剧、产品利润走薄、用户响应要求提高、产品更新迭代加快等各项因素的变化,项目管理开始成为越来越多企业的管理方式。
项目管理的核心目标是在规定时间和预算内,完成事先确定的范围内的工作,同时达到质量要求。如果你的工作包括项目管理,并且自己也想提高管理技能,除了多和外界交流,通过优秀的项目管理软件改善工作效率和习惯也是一个好办法。
那么,究竟有哪些好用的项目管理软件呢?下面这6款你可以试一试:
Teambition是阿里巴巴旗下的项目管理工具,提供网盘、待办、文档、日历、项目等应用,目前正在向一站式企业协作平台发展。
Teambition面向个人用户免费开放,支持文件、日程、群聊、日历、通知等功能;企业版需要付费使用,除了个人版的所有功能,支持成员管理、任务分配等团队协作功能。
Teambition的功能非常细致全面,支持丰富的第三方账号登录,同时将实现个人、企业同账号,方便用户同时管理私人文件和公共文件。
Teambition使用评测请点击阅读:Teambition使用评测:功能综合,与钉钉融合是一大亮点
Worktile同样是从项目管理起家,目前正在向企业协作办公平台发展的企业工具。Worktile面向30-1000人规模的公司,提供任务管理、消息、日历、网盘、工作汇报、审批等功能,可以实现项目管理、规范流程、知识库搭建等多种应用。
Worktile界面友好,设计每管,文档功能默认支持Markdown语法,允许多人编辑。企业版除了可以创建任务、日程等,还支持统计分析等高级功能。
Worktile使用评测请点击阅读:Worktile使用评测:功能全面的项目管理工具,协作和OA集成是2大亮点
Tower定位于精简专一的团队协作工具,适用于中、小企业使用。它的最大特点是和微信高度集合,团队成员在Tower上的操作都会通过微信进行同步。
通过Tower,用户可以创建团队、项目、动态、周报、日程,可以满足一般的项目管理需求。不过网盘、工作汇报等其它项目管理工具提供的功能,Tower暂不支持。
Tower使用评测请点击阅读:Tower使用评测:功能精简聚焦,适合小团队轻量级项目管理
Joywok定位于连接员工、客户、合作伙伴的企业统一通信协作平台,可以按需定制,为用户提供私有化部署服务。
通过Joywok,用户可以连接企业内外、实现全员合作,享受免费语音、视频、邮件服务,同时进行云文件的共享和管理。除此之外,Joywok的项目管理报表还支持文件导出。
Trello定位于轻量级团队流程协作和列表管理平台。本质上,它是一个“列表的列表”,可以方便不同的团队成员贡献和追踪进度,但在回顾和总结上的功能分布有所欠缺。
Trello提供看板和卡片功能,非常适合个人进行任务管理。
相关文章
项目管理软件横向对比:Tower vs Teambition vs Worktile
什么是项目管理?一文了解项目管理的概念、 历史 、内容和方法
项目管理主要干什么?带你了解项目经理的4大核心工作
如何做好项目管理?快来看BAT项目经理都在学的7个技巧
www.36dianping.com
原文标题:《都有哪些好用的项目管理软件?这5款值得一试》
作者:杜会堂
本文来源于36氪企服点评
⑶ “openstack”自动化部署有哪些工具
Fuel比较值得推荐x0dx0a这是Mirantis出品的部署安装工具,2013年10月份,推出他的3.2版本,让人很震撼,基本算是把Openstack所有的部署都web化,你可以太多的选择:尤其是网络,存储。这基本都是大家学习的榜样。已经敢和企业签订SLA。x0dx0a目前国内杜玉杰,九州云,在做该项目的汉化工作和考虑日后的技术支持。x0dx0ax0dx0aDevstackx0dx0a这应该算是Openstack最早的安装脚本,他是通过直接git源码,进行安装,目的是让开发者可以快速搭建一个环境。目前这套脚本可以在Ubuntu和Fedora下跑的很好。x0dx0a如果你想了解新版本的功能,通过Devstack是一个最佳选择。我第一次成功安装Openstack,就是用这个。x0dx0aDiablo安装脚本x0dx0a这算是我知道的第一个基于ubuntu 源的安装脚本,当时Diablo发布的时候,有bug,keystone和Horizon无法一起工作,ubuntu 11.10源里的包也是有相同的bug,并且Ubuntu 官方并不打算维护和升级。这位作者个人身份,维护了Diablo 版本后来的升级,打包,并且写了一套脚本。x0dx0ax0dx0a这套脚本,其实写的非常好,我同事改造了一下,就可以安装Essex版本。目前正在改进,用来安装Folsom版本。x0dx0aStackopsx0dx0aOpenstack起步的时候,官方的安装文档,其实基本都是来自Stackops,当时他们提供Openstack的部署服务。你下载一个iso,装完一个ubuntu系统后,就会转到他们的web,你填写相关的配置参数,通过chef进行部署。x0dx0aStackops在Chef上是比较强悍的,包括Dell的Crowbar,也是和他合作,才搞定Chef。不过我的理解,他的Chef 脚本是没有开源的。x0dx0aStackops通过商业定制,进行收费。目前感觉有点走下坡路,业内的声音比较小了。对openstack的新版本支持比较慢,Essex支持,到9月份才支持。目前还没有任何关于Folsom 的支持。x0dx0aCrowbarx0dx0a在Openstack上,Dell是有点郁闷,中国的那句老话,起个大早,赶个晚集。Openstack刚发布的时候,Dell就号称要做一个工具部署,不过毕竟是硬件公司,对软件还是比较外行。x0dx0aDell的Crowbar,是一个iso,装完后,你可以在web界面进行Openstack的部署,底下其实也是使用Chef。集成了Nagios监控,安装OS是dell自己开发的,有点创新。x0dx0a以前Dell的Crowbar一个大的特色就是可以远程设置机器的Raid和Bios,这是从Dell,我才知道可以这样做。不过也正因为这个特色,导致厂商绑定,还有Dell自己如何定位Crowbar,当初还想搞一个商业的版本,结果后来放弃。x0dx0aCrowbar目前的开发,其实应该是遇到问题,任何做部署工具的,应该都是一个很好的失败的案例。后续的发展,维护,更新都是问题。x0dx0ax0dx0aMaas+Jujux0dx0a这是Canonical推出的部署工具,可以用在Openstack的部署,类似Puppet,Chef 的部署工具。Maas是用于安装ubuntu,juju是用于部署应用。