【编者按】对于运维人员来说,他们往往需要各种各样的工具来应对工作需求,近日 Dustin Collins 通过「The Best DevOps Tools on OSX」一文对 OSX 平台上的工具进行盘点。本文系 OneAPM 工程师整理翻译。
以下为译文
如果你供职于一个 DevOps 团队,那么肯定会用到很多工具,比如通讯、架构、编排、编程、测试等等。笔者总是关注一些热门工具,这样就能一直跟随潮流。笔者工作中使用的就是 Macbook Pro,因此本文列出了一些经常使用的工具,以及一些使用工具。
协作方面
Slack——沟通(内部或对外),还支持 Github、Jenkins 和 Pingdom 的推送通知。
Google Drive——分享设计文档/电子表格/演示文稿(内联注释十分强大)。
Google Hangouts——用来举行日常简短的视频会议及其他会议。
Screenhero——协作编程工具:双方都能控制鼠标/键盘,是笔者所发现当下诸多工具中体验最稳定的。
asciinema——终端录制与屏幕分享工具。尤其适合分享 CLI 工作流与创建教程。试试 rec 命令中的-w flag,对长期运行的命令支持良好。
ngrok——建立到本地主机的安全通道。在修改本地 API 或站点后,笔者在发布前一般会通过它进行分享并获得反馈,对缩短设计工作的反馈环节非常有效。
mac2imgur——将截屏上传到 imgur.com,比发送文件存到桌面上要好太多了。一旦上传后,就会将 imgur URL 自动复制到剪贴板上。
keen.io——用来追踪时间段发生的一系列事件,比如 Github 下载的开源项目。Keen 使得代码可以更清晰的可视化,取代盲目猜测。
Mou——撰写可实时预览的 Markdown 文件。在将 READMEs 文档推送到 GitHub 之前,使用 Mou 进行编写是个不错的选择。
开发方面
iTerm2——比默认的 Terminal app 要好得多,可以拆分 panes、search、instant replay 等。这里使用的是 Pastel(黑色背景)的配色方案。
zsh——比旧 OSX 自带的 bash 好用,可以用于结束 tab、自动安装插件,并易于定制。通过 homebrew 执行 zsh 的安装命令 brew install zsh,再将 oh-my-zsh 添加到顶层,就全部搞定了。
mackup——将配置文件备份到 Dropbox 上,这样一旦换新机器了,就无需数天时间,而是仅仅一个小时就能配置好开发环境。
CakeBrew——图形化管理 homebrew 的工具。笔者安装了很多 homebrew 安装包,而图形用户界面显然更好理解。
docker-machine——使用它来建立 VirtualBox 虚拟机从而运行 Docker 服务,也可以在 OSX 上安装 Docker 客户端。之前用的是 boot2docker,不过将来都会改用 docker-machine 了。
Vagrant——如果个项目不是运行在 Docker 上,那么就是运行在 Vagrant 虚拟机上。
ChefDK——在 Conjur,chef-solo 被大量使用,使用它整合工具非常方便。在这些工具中笔者最喜欢的就是 test-kitchen,它不止适用 Chef。比如,可以给 Docker 容器配置一个 shell 脚本,并对其运行测试。test-kitchen 可用来管理测试机器的生命周期。
packer——构建 AMI 的首选工具,比 vagrant-aws 插件更为轻量级。
RubyMine——vim 还是 emacs?都不是首先。RubyMine 的 debug 功能非常棒,可以远程连接 Ruby 编译器(Vagrant 或者 Docker 实例)。Chef 插件也很不错。
PyCharm——很棒的 debug 工具,集成了 IPython notebook。笔者使用过每一种 Python IDE,最终在前几年选中了它。
Sublime Text 3——对于规模较小且非 Ruby/Python 项目,它是默认编辑器。GoSublime 插件配置起来有点复杂,但是在写 Go 代码时会更简便。Conjur 已经开始使用 Jenkins Job DSL 插件,因此也会 Sublime 来写 Groovy 代码。
CheatSheet——CheatSheet 在后台运行,长按 command 键就能显示当前应用的快捷键列表。
Rested——man curl,查看 flags。笔者使用 Rested 浏览测试 API,有时候会保存请求,稍后做回归测试时进行回放。httpie 也是个很不错的备选。
Patterns——用来复查正则表达式,支持多种语言,还有内置的 cheat sheet。
其他
OneAPM--专业的应用性能的监控工具,能够实时展现整个系统的业务拓扑图,帮助进行故障的预警和定位,减少业务系统维护的工作量,协助开发和运维人员持续性的优化代码。
RescueTime——用来追踪不同应用上每周所花费的时间,也可用于评估工作时各种工具对于产效的影响。
Yoink——让文件拖拽更简便:Generate CloudFormation json -> Yoink -> AWS console
Evernote——在查看会议视频或者阅读科技书籍时做笔记。用过不少工具,不过最终还是选择了 Evernote。