还记得笔者第一个接触的程序语言是 PHP,其直译的设计、简单不复杂的语法,任何人只需要准备一个副档名是 .php 的纯文字档案,写一小段混杂着 HTML 和 PHP 程序码,用 FTP 丢到一台装有 PHP 的主机就可以拥有一个「动态」网站。你说这样写不脏吗?很脏。你说这样写当网站大了以後不会很难维护?不用怀疑,真的超难维护。
虽然这样写有很多的问题,但我们不得不承认这样乱糟糟的开发方式对於萌新来说却是
简单!直觉!好上手!
反观现代开发工具链,从环境架设、工具安装、语法特性、架构模式到云端部署,几乎每一个环节都可以写一部 30 天的铁人赛。虽然每一个技术的演进都是为了更长远的开发愿景而设计,但门槛也同时增高,别说对新手不友善,冗长且繁琐的步骤有时连老手都踩坑连连。
难道在严谨的开发流程与流畅的开发体验之间没办法平衡吗?
当然可以!这时就是使用 CI/CD 服务器的最佳时机!
开发者写程序大多都是为了解决重复执行的动作,而像 CI/CD 这种服务器软件就是为了这样的目的而存在。简单来说,你可以把它想像成机器人,只要你交代它做的事情,它就会按部就班地完成,而且做百遍也不出错、做千遍也不厌倦,是不是很棒?
所以,当发现我们一直在重复地做某些动作,比方说在终端机里打同一个指令、把产生出来的档案上传到服务器上、需要定期监看某些数值或特定报表时,就可以把这些动作抽取出来,交给 CI/CD 服务器来处理。我们只需要在开发流程里设计一个环节触发它运作,然後定期到 CI/CD 服务器上看结果即可。
市面上的 CI/CD 服务器选择也不少,各家云平台也推出不少类似的服务。在本系列文里,将会采用 TeamCity 这个由 JetBrains 推出的老牌 CI/CD 解决方案。TeamCity 拥有良好的 Web UI,在网页版的介面里就可以用滑鼠点选的方式完成所有设定,喜欢用设定档的开发者,也可以用更具语义的 Kotlin DSL 将设定写成 Kotlin Script 来自动完成。TeamCity 也支援完整的工具链,各程序语言生态系的建置工具大多内建,也可以透过 CLI 或 Docker 来执行客制化动作。TeamCity 高弹性的架构,除了支援客制化 Agent 外,也能让大型团队同时运行大量的建置工作。
具体来说,TeamCity 可以帮助我们做哪些事情呢?
即便是萌新也别担心!在接下来的 30 天里,笔者将从 DevOps、CI/CD、现代软件开发流程等基本观念讲起,到 TeamCity 的安装与使用,并模拟数个常见的开发情境,详细说明如何让这些现代工具来协助我们更有效率的完成任务,不再被陌生词汇打击,让 TeamCity 变成可以落实到开发工作的助力!
准备好了吗?让我们一起翻开这本 30 天的指南吧!
那我们就实际上网去看一下乙太链跟区块链长怎麽样吧! 参观乙太链 这边分别是最近新增的区块以及最近完...
大家好,我是长风青云。今天是铁人赛的29天。这是我最後一个要讲的演算法喔。 如果明天的部分不想看不想...
昨天稍微谈到了一些有关警报的设计,然而,警报的发出与否,应是建立在我们观测到的一些系统的行为,例如说...
大家好我是小雨,没想到时隔两年还有机会与铁人们一起磨练~ 刚好最近在「折腾」unRaid,又看到铁人...
改标题: 先起个头~继续Intent~官网资料 https://developer.android....