gpt4 book ai didi

python - Spinnaker 管道即代码

转载 作者:太空狗 更新时间:2023-10-29 18:30:08 26 4
gpt4 key购买 nike

我真的很喜欢 armory 为 pipeline 所做的工作作为 spinnaker 的代码。我想实现类似的东西。有人可以解释他们是如何做到这一点的吗?

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": []
}
]
}

他们是否为模块 创建了自定义神社扩展?如果有人可以分解他们如何能够实现这一目标作为我的起点,那将非常有帮助

最佳答案

我们之前使用 MPT(托管管道模板)和官方 Spinnaker 工具 roer。我们有多层部分继承,破坏单个模板将不可逆转地破坏所有模板。

有一种使用 JSONNET 的新方法,称为 sponnet 可用 here .这具有 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])

关于python - Spinnaker 管道即代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51770113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com