summaryrefslogtreecommitdiff
path: root/content/posts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--content/posts/2021-02-13-jsonnet.md61
1 files changed, 26 insertions, 35 deletions
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
+Не знаю смог ли передать ощущение своего восторга, но я охренеть как рад и жду выходных, чтобы с головой нырнуть в эту технологию, которая открывает столько новых интересных перспектив!