我真的很喜欢军械库为管道做了什么,作为大三角帆的代码.我想实现类似的东西.有人可以解释他们可能会这样做吗?
https://docs.armory.io/user-guides/dinghy/
{
"application": "yourspinnakerapplicationname",
"pipelines": [
{
"application": "yourspinnakerapplicationname",
"keepWaitingPipelines": false,
"limitConcurrent": true,
"name": "Made By Armory Pipeline Templates",
"stages": [
{{ module "wait.stage.module" }} // Module created in dinghy-templates repo
],
"triggers": []
}
]
}
Run Code Online (Sandbox Code Playgroud)
他们为模块创建了自定义jinja扩展吗?如果有人可以分析他们如何能够实现这一点作为我的起点,那将非常有帮助
小智 9
我们以前使用的是带有官方Spinnaker工具的MPT(托管管道模板)roer。我们具有多级部分继承,并且破坏单个模板将不可逆地破坏所有模板。
有使用JSONNET称为一种新的方法sponnet可以在这里。这具有jsonnet附带的优点。它创建的JSON管道可以通过UI,roer或通过新的官方Spinnaker工具加载spin。
当前正在针对V2托管管道模板提供设计文件。
Spin和Spinnaker jsonnet库尚处于初期,但我们可以使用以下类似方法在app.jsonnet文件中定义Spinnaker管道。
local deployment = import 'deployment.json';
local kubeutils = import 'kubeutils.libsonnet';
local sponnet = import 'pipeline.libsonnet';
local canaryDeployment = kubeutils.canary(deployment);
local account = 'staging-demo';
local app = 'myapp';
<snip>
local wait = sponnet.stages
.wait('Wait')
.withSkipWaitText('Custom wait message')
.withWaitTime(30);
<snip>
sponnet.pipeline()
.withApplication(app)
.withExpectedArtifacts([expectedDocker, expectedManifest])
.withName('Demo pipeline')
.withNotifications(slack)
.withTriggers([dockerTrigger, gitTrigger])
.withStages([wait, deployManifestTextBaseline, deployManifestTextCanary,
deployManifestArtifact, findArtifactsFromResource, jenkinsJob])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
950 次 |
| 最近记录: |