Spinnaker 自定义Pipeline模板思路

流水线模板组合思路 官方流水线示例中没有给出完整的流水线模板和完整的字段,只给出了一个大致的 schema [1],如下所示 json 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 { "schema": "v2", "variables": [ { "type": "<type>", "defaultValue": <value>, "description": "<description>", "name": "<varName>" } ], "id": "<templateName>", # The pipeline instance references the template using this "protect": <true | false>, "metadata": { "name": "displayName", # The display name shown in Deck "description": "<description>", "owner": "example@example....

 ·  · 

Spinnaker 基于判断的条件分支流水线

Manual Judgment Stage “Manual Judgment Stage” 是 Spinnaker Pipeline 中的一种阶段 (“Stage”) 类型,该类型可以作为流水线的门户,作为带外 (Out-of-Bound) 流水线检查,等待手动检查,并且判断结果会终止或继续流水线的执行。 创建一个基于Manual Judgment的流水线 创建一个流水线,添加一个新的 Stage,选择 “Manual Judgment” 图:Manual Judgment创建页面 Jugement Inputs 部分添加对应的选项,选项可以带入变量 $judgment 中 图:Manual Judgment 在执行时 Jugement Inputs Option 的展示 或者是不添加任何选项,那么这个时候就会只有 Stop 和 Continue 两个按钮 图:当 Manual Judgment 没有配置Jugement Inputs Option 的展示 如果添加了选项,可以根据 “选项” 来判断执行的分支 判断可以使用每个阶段内的条件表达式 ”Conditional on Expression“,或者 Check Precondition 类型的阶段 图:根据 “Stage Conditional on Expression” 来定义的选项 “Check Precondition” 是 Spinnaker 流水线中的一个阶段,它可以先前条件并且判断是否继续,这里主要检查该流水线之前所有的流水线你定义要检查的内容,并继续执行接下分支或者阶段 图:“Check Precondition” 的三种类型 图:“Check Precondition” 选择添加表达式的页面 这里选择使用 表达式 (Expression) 来判断前置条件,例如我判断前置 Stage 的选择是否为 “aaaa”...

 ·  · 

PromQL复杂使用示例

查询结果删除某些指标 without without 属于聚合查询的子句,必须在聚合查询中使用 语法: bash 1 <aggr-op> [without|by (<label list>)] ([parameter,] <vector expression>) 可以看到属于 <aggr-op> 例如 text 1 sum without(instance) (http_requests_total) ignoring ignoring 属于 “向量匹配” (Vector matching) 关键词,可以在 一对多,和多对多查询中使用 语法 bash 1 <vector expr> <bin-op> ignoring(<label list>) <vector expr> 例如 bash 1 method_code:http_errors:rate5m{code="500"} / ignoring(code) method:http_requests:rate5m 与查询 可以查询满足多个条件的指标,例如下列是查询 jvm 内存 $\frac{used}{committed} > 80%$ 并且 Pod WSS 使用大于 80% 的指标 promql 1 2 3 4 5 6 sum by(pod) (jvm_memory_used_bytes{}) / sum by(pod) (jvm_memory_committed_bytes{}) > ....

 ·  · 

Hugo - 为文章页面增加相关阅读区域

需求 在页面底部增加相关阅读区域: 简单实现与文章相同 tag 的文章列出到文章底部 实验步骤 新增 related 模板 在 layouts/partials/related.html 新创建一个模板,增加如下内容,本文主题为 PaperModX ,不同的主题,文件在不同目录下 html 1 2 3 4 5 6 7 8 9 {{ $related := .Site.RegularPages.Related . | first 3 }} {{ with $related }} <h3>Related Posts</h3> <ul> {{ range . }} <li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li> {{ end }} </ul> {{ end }} 将模板加载到文章列表模板内 然后需要在文章列表页底部包含这个 “模板” _default/single.html 不同主题在不同的目录下 html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ....

 ·  · 

Hugo - 去除Sitemap中的tags search等页面

需求 在不禁用分类的情况下,关闭对应 sitemap.xml 中的条目以优化 SEO 去除所有tag 去除所有分类 去除 search about me 这类页面 实验步骤 sitemap 是通过 go-template 目标进行的,只要可以使用对应语法过滤了相关路径即可以排除对应的页面 首先在配置文件增加 taxonomiesExcludedFromSitemap 选项,这个选项排除了 “hugo中分类法” 中的所有子类;其次使用 if not 来排除所有对应首页面。如下列所示 本文已 PaperModX 为例,修改文件 layouts\sitemap.xml xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 {{ printf "<?...

 ·  ·