From fce8e1d3284eec6c87dc407957e632c5f3ee3b46 Mon Sep 17 00:00:00 2001 From: Alexander Neonxp Kiryukhin Date: Sun, 1 Feb 2026 18:08:34 +0300 Subject: =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/posts/2021-02-13-jsonnet.md | 61 ++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 35 deletions(-) (limited to 'content/posts/2021-02-13-jsonnet.md') diff --git a/content/posts/2021-02-13-jsonnet.md b/content/posts/2021-02-13-jsonnet.md index e4ea27e..9b03e5d 100644 --- a/content/posts/2021-02-13-jsonnet.md +++ b/content/posts/2021-02-13-jsonnet.md @@ -1,12 +1,12 @@ --- -categories: -- Без рубрики -date: '2021-02-13T22:08:19Z' +date: "2021-02-13T22:08:19Z" image: files/2021-02-13-jsonnet_logo.webp tags: -- go -- it -- разное + - go + - it + - разное +categories: + - Без рубрики title: Jsonnet --- @@ -40,8 +40,8 @@ https://jsonnet.org/learning/tutorial.html. Накидал простенький пример который формирует конфигурацию пайплайна для гипотетической CI системы: -```json -local map(arr, predicate) = // определяем функцию map +```jsonnet +local map(arr, predicate) = // определяем функцию map if std.length(arr) == 0 then [] else @@ -63,32 +63,23 @@ local commands = ['go build', 'go test']; // Общая часть ```json { - "pipeline": [ - { - "commands": [ - "go build", - "go test" - ], - "image": "golang:1.14-alpine", - "name": "go1.14" - }, - { - "commands": [ - "go build", - "go test" - ], - "image": "golang:1.15-alpine", - "name": "go1.15" - }, - { - "commands": [ - "go build", - "go test" - ], - "image": "golang:1.16-rc-alpine", - "name": "go1.16-RC" - } - ] + "pipeline": [ + { + "commands": ["go build", "go test"], + "image": "golang:1.14-alpine", + "name": "go1.14" + }, + { + "commands": ["go build", "go test"], + "image": "golang:1.15-alpine", + "name": "go1.15" + }, + { + "commands": ["go build", "go test"], + "image": "golang:1.16-rc-alpine", + "name": "go1.16-RC" + } + ] } ``` @@ -98,4 +89,4 @@ local commands = ['go build', 'go test']; // Общая часть Я оставил за скобками то, что этот шаблонизатора позволяет формировать не только JSON но и фактически любой другой текстовый формат. И даже из одного скрипта формировать несколько документов разного формата. При этом локальные переменные будут использоваться общие. Теоретически, если упороться, можно одним скриптом сформировать весь /etc на новом сервере. Почему бы и нет?:) -Не знаю смог ли передать ощущение своего восторга, но я охренеть как рад и жду выходных, чтобы с головой нырнуть в эту технологию, которая открывает столько новых интересных перспектив! \ No newline at end of file +Не знаю смог ли передать ощущение своего восторга, но я охренеть как рад и жду выходных, чтобы с головой нырнуть в эту технологию, которая открывает столько новых интересных перспектив! -- cgit v1.2.3