这是一堆 YAML
# 由 https://ghuntley.com 制作,源于一次过多的 CustomResourceDefinitions # 欢迎改进,快来分享 YAML 如何改善你的生活吧! # 没有: 身体: 想要: 写: - YAML # 🤔 为什么 YAML 是适合你的 devops 技术 🤔 # # - 100% 的测试覆盖率,始终可以正常编译,没有错误或警告,始终可以发布 # - 开发期间不强制错误处理,因为在生产中运行时的 "panic at the disco" 是很酷的 # - “出了点问题” 比带有行号的堆栈跟踪要好得多 # - 在设置新的 CI 管道时,你需要消耗大量时间 # - 安全选择,无可置疑的行业采用,“被 kubernetes 使用” # - 仅比 windows.ini 稍微好一些 # - 与 json [1][2] 不同,YAML 支持注释 # - 没有官方文档(除了面向实现者的规范)也完全没问题 # - 你需要一种超安全的方式来“执行这段代码” # 🍿 等一下,你说的是“可执行的 yaml”?? 🍿 # - https://ruby-doc.org/stdlib-2.4.0/libdoc/yaml/rdoc/YAML.html#module-YAML-label-Security # - https://www.php.net/manual/en/function.yaml-parse.php#refsect1-function.yaml-parse-notes # - https://securitylab.github.com/research/swagger-yaml-parser-vulnerability/ # - https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation # 🚨 任何使用 YAML 足够久的人,在尝试缩写挪威的时候最终都会受伤 🚨 # `NO` 被解析为布尔类型,根据 YAML 1.1 规范,有 22 种方式可以写“true”或“false”。 # 你必须用引号包裹“NO”才能得到预期的结果。 NI: 尼加拉瓜 NL: 荷兰 NO: 挪威 # 💣! # 🚨 有人想知道为什么他们的前七个 Kubernetes 集群部署得很好,而第八个失败了? 🚨 - 07 - 08 # 结果是 [ 7, "08" ] # YAML 知道,当你有一些看起来像一天中的时间, # 你真正想要的其实是从午夜以来的秒数 timeOfDay: whatYouWrote: 04:30 # 当你解析这个文件并再次序列化时,你可能会在 YAML 1.2 之前得到 ... whatYouSurelyMeant: 16200 # 祝你调试愉快! whatYouShouldHaveWritten: !!str 04:30 # YAML 是编码八进制(tm)最好的方式,并且痛苦地学习 Kubernetes 使用 YAML 1.1 # 是 DevOps 的成年礼。 在 YAML 1.2 之前,一个较大的整数会自动转换为八进制。[3] - YAML 1.1 使用 `0666` 表示法。 - YAML 1.2 使用 `0o666` 表示法 # YAML 非常适合指定软件包版本,只要你喜欢版本被解析为浮点数。 versions: foo: 1.7 # 这两个软件包有相同的版本。 bar: 1.70 # 这两个软件包有相同的版本。 fizz: 1.7.0 # 但这两个软件包有不同的版本。 buzz: 1.70.0 # 但这两个软件包有不同的版本。 # 🤢 我最近正在学习 GitHub Actions # # 我在一个小时内进行了 8 次提交/推送,最后一次提交信息的全部内容是: # # “我真的不喜欢 yml” - https://twitter.com/eric_sink/status/1430954572848287744 # 😭 如果 SQL 是基于 YAML 构建的 😭 SELECT: - num - name FROM: - customers WHERE EXISTS: SELECT: - name FROM: - orders WHERE: AND: - EQUALS: - customers.num - orders.customer_num - LT: - price - 50 # 说到 CI,你知道 8 个字符的 SHA 可以是所有数字吗? # 如果解析 `my.flaky_version` 的系统是类型化的,它将愉快地在 2%的时间内爆炸。 my: # 这将在 ~98% 的时间内是一个字符串 flaky_version: ${GIT_SHORT_SHA} # 这将在 ~100% 的时间内是一个字符串 string_version: "${GIT_SHORT_SHA}" # 他: "看,我买了一盒 DevOps" # 她: "你无法仅仅买到一盒 DevOps" # 🤣 https://twitter.com/mike_kaufmann/status/1454712996933025794 # "不要忘记额外的换行,否则一切都会崩溃" # 👉 https://github.com/IronScheme/IronScheme/commit/2f847793946935bd9143cdfb064f9006f763df68 # 🤡 与不同的 CI 提供者做同样的事情 🤡 # Azure devops jobs: - job: job1 steps: - script: chmod +x ./script.sh - script: ./script.sh # CircleCI jobs: job1: steps: - checkout - run: "execute-script-for-job1" # 未来某些 CI 系统,可能 jobs: - steps: job1 - step1: - script: chmod +x ./script.sh - step2: - run: "execute-script-for-job1-inside-step2" # 如果你为 Cloudformation 建立一个 YAML 文件,为 Cloudwatch 的 DashboardBody # 而且有一个 SEARCH 函数? 你需要转义已经转义的,并用双引号关闭整个 JSON: "{ \"search(' var=\\\"blue\\\" . # 🍻 在酒吧里听到 - 他们在 YAML 上做得很好。糟糕的模板代码。然后每个人都认为这是个好主意。 # 💊 巨大的痛苦推特串 # 👉 https://twitter.com/brunoborges/status/1098472238469111808 👈 # 📢 必读 📢 # # "今天我们要看看 YAML 格式的一些常见问题" # 👉 https://arp242.net/yaml-config.html 👈 # # "我们用 10 个结构替换了 1,000 行 YAML,人们又开始贡献了" # 👉 https://tinyurl.com/lessons-in-over-engineering 👈 # # "如果你使用了一个 "} # (内容过长被截断)
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡