云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

MySQL数据库_网站建设工作室_高性能

小七 141 0

像个超级英雄一样利用詹金斯

我们都知道Jenkins作为一个持续集成工具的能力及其在DevOps领域的重要性。但是,您知道除了自动化和部署软件构建之外,Jenkins还可以用于广泛的软件操作中吗?例如,有些团队更喜欢Jenkins的任务调度,而不是标准的Linux任务调度器,后者可能很麻烦,因为它在监视或报告任务方面几乎没有帮助。另一方面,Jenkins提供了一个更好的环境,提供了执行历史和许多使事情变得简单的插件。此外,Jenkins支持cron语法来定义一个时间表(@hourly或@daily),但是,我们偶尔也会遇到这样的情况:Jenkins的任务调度功能被用来创造性地解决独特的挑战。Douglas West是一位开发Lululemon的开发者,最近他用Jenkins预订了电影《复仇者》的首场演出票:结束游戏。道格拉斯发现有关电影票销售可用性的电子邮件通知存在问题。通知通常是在网站上购票几小时后发出的。道格拉斯说:"我意识到我可以用詹金斯(或者说,任何任务调度工具,甚至cron,但詹金斯把所有这些都联系在一起,并与通知工具很好地集成在一起,"他说:"我意识到我可以用詹金斯(或者真的,任何任务调度工具,甚至cron)来解决这个问题。"我写了一份每小时一次的自由式作业。我做了一个基线得到的门票销售网页,为我选择的剧院为开幕日日历条目复仇者:结束游戏。最初,它的内容主要是为了达到"门票销售还不可用"的效果(以及一些支持HTML的k)。我将这个基本html文件放到了这个作业的工作区中,并编写了一个bashshell构建步骤,该步骤执行了当前同一网页的wget,并对保存的基本web页面进行了比较。如果有什么不同,那工作就失败了,失败后给我发了一条个人信息,里面有一个售票页面的热链接,让我及时购买。"道格拉斯描述了随着D日的临近,该网站是如何建立buzz并对网页做了一些小改动的。这些更改触发了错误的警报,他不得不通过重新调整保存的HTML文件重新启动进程。为了提高胜算,道格拉斯修改了代码,使其每五分钟运行一次。此外,作为一个双重检查,他做了一些改变,在手机上接收短信提醒,除了那些空闲的。最后,当机票在网上销售时,代码起作用并发送即时通知。唉,道格拉斯因为时区差异而错过了通知。"他们在东海岸时间早上6点开始直播,"道格拉斯回忆道我住在西海岸,那是我凌晨2点的时候。直到西海岸时间早上7:30,我才醒来看到这些信息(包括Slack和message+)。"虽然道格拉斯不能按他希望的方式订票,但他可以在附近的电影院看电影。Douglas建议任何使用Jenkins的人都可以用几行代码来复制这个应用程序,称之为"相当基本的"。Douglas说:"我不会发布代码,它非常基本。"在计划作业之前,将一个初始wget保存到基态文件,将wget保存到另一个文件,然后在基文件和刚获取的文件之间执行file diff命令,如果发现差异,则作业运行失败(记住不要清理工作区-您不希望丢失基本状态文件!)。然后在作业运行失败时发出生成后通知步骤。不管基本与否,代码都能以非常有效的方式解决实际问题。如果您曾使用詹金斯解决过独特的运营或日常生活挑战,请与我们分享您的故事。你可以联系我dhwang@cloudbees.com。如果您想了解更多关于使用Jenkins并向您的同行学习的信息,请访问位于旧金山的DevOps World | Jenkins World 2019。注册并加入乐趣!附加资源:了解如何以及为什么要设立詹金斯公告找出如何通过优化DevOps来缓解"焦虑"