课程简介
本课程讲解了该课程诞生背后的思考过程。
这门课程是如何诞生的?
当我完成上一门课程《高级 Kubernetes 技术:监控、日志、自动伸缩——互动式学习》后,我原本打算休息一两个月,不再写作。我以为这样能让我头脑清醒,从而决定下一步该学习什么主题。然而那段时间却异常煎熬——我始终无法做出决定。如今涌现了太多酷炫且实用的技术,而我从未像那几周一样感到如此犹豫不决。接下来我该做什么?
我可以探索 无服务器架构(serverless)。这无疑非常有用,或许正是下一个大趋势。或者我可以深入研究 Istio,它可能是目前运行在 Kubernetes 之上的最大、最重要的项目之一。又或者,我可以关注一些更小但同样重要的主题。比如 Kaniko,它是持续交付流程中缺失的关键一环。构建容器这件事,至今仍是我们在主机层面唯一需要手动处理的操作,而 Kaniko 让我们能够将这一过程完全迁移到容器内部。再比如 安全扫描,这在大多数组织中已成为必备环节。此外还有 Skaffold、Prow、Knative 等众多工具,它们正逐渐趋于稳定,并变得越来越实用。
就在我陷入纠结时,突然灵光一闪:Jenkins X 正好涵盖了所有这些内容,甚至更多。 我之前没有写过它,是因为它当时还太“稚嫩”,变化太快,远未成熟。但现在情况不同了。尽管该项目仍在快速演进,仍有诸多功能待完善和打磨,但 Jenkins X 已被越来越多团队采纳。它已经证明了自己的价值。它的社区正在壮大,受欢迎程度极高,堪称 Kubernetes 生态中的明星项目之一。
于是,最终决定下来了:这门课程将专注于 Jenkins X。
正如其他课程一样,本课程的目标是深入探讨主题。虽然前几章可能(有意地)显得基础,但我们将会深入剖析 Jenkins X 及其相关工具,尝试把握整体图景:
- 它到底是什么?能做什么?又是如何实现的?
- 它如何影响我们的工作流程?
- 我们该如何将其与现有工具结合?哪些工具需要调整或替换?
- 它是否仅限于持续交付?
- 它是否影响本地开发体验?
- 它是否改变了我们管理 Kubernetes 的方式?
最重要的是,我希望你能在学习中取得成功,也希望这门课程能助你在职业道路上走得更远。
🔍 如果你访问 jenkins-x.io,可能会发现这里的内容与课程有相似之处。但请注意,课程中的内容并非直接复制自官网。相反,我选择将部分章节贡献给社区,以回馈开源生态。
如何联系我?
在学习过程中,你可能会遇到困难需要帮助,或者想对课程内容发表评论、提出建议。欢迎加入 DevOps20 的 Slack 社区,分享你的想法、提问或参与讨论。如果你更倾向于一对一交流,也可以通过 Slack 发送私信给我,或发送邮件至 viktor@farcic.com。我写的每一门课程都倾注了心血,真心希望你能拥有良好的阅读体验。与我保持沟通,正是这种体验的一部分。请不要害羞。
请注意,这门课程和之前的课程一样,属于自出版作品。我相信,作者与读者之间没有中间人,才是最好的方式。这种方式让我能更快写作、更频繁更新,并与你建立更直接的联系。你的反馈是我改进课程的重要组成部分。无论你是早些时候购买了只有少数章节的课程,还是等到全部完成才入手,核心理念始终不变:课程永远不会真正“完结”。随着时间推移,技术与流程不断演进,课程也必须随之更新。只要条件允许,我会持续维护并适时发布更新。当然,未来某一天,如果变化过于剧烈,更新已不再适用,那便是推出全新课程的信号。只要你们继续支持我,我就会一直写下去。
现在,让我们正式开始吧!