iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0
DevOps

一步步學DevOps:30天入門計劃系列 第 20

Day 20 認識YAML

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20231003/20139800iBu0PmE5E3.jpg

在持續集成/持續交付CI/CD流程中,你會常見到YAML 檔的踪跡,例如在CI/CD 中用於定義自動化的構建、測試和部署流程、Kubernetes配置文件使用YAML格式來定義應用程序部署和服務、Docker Compose 文件也是使用 YAML 格式定義多容器應用程序。

YAML 是一種輕量級的標記語言,優於 XML 和 JSON,它使用縮排和簡潔的語法,強調數據的層次結構,支援註解,通常用於配置文件和數據交換。以下是YAML檔的基本語法結構和使用規則:

YAML 的基本語法結構和使用規則:

  • 縮 排: 縮排是 YAML 非常重要的部分,YAML 中只能使用空格進行縮排。 YAML 使用縮排來表示數據的層次結構,確保相同層級的內容有相同的縮排,顯示數據之間的父子層級關係。

  • 鍵值組(Key-Value Pairs): YAML 使用鍵值組的形式來表示數據。一個鍵值組包含一個鍵(key)和一個相應的值(Value),用冒號(:)分隔。例如:

name: John
age: 30
  • 清單(Lists): 清單表示一組相關的值,使用短橫線(-)加空格來表示清單中的每個元素。例如:
fruits:
  - apple
  - banana
  - orange
  • 物件(Objects): 物件是一個包含鍵值組的集合,使用縮排來表示嵌套結構。例如:
person:
  name: John
  age: 30
  hobbies:
    - hiking
    - reading
  • 註解(Comments): 可以使用(#)號來添加註解,註解通常用於文件中對數據的解釋或說明,註解#後的內容將被忽略。例如:
# 這是一個註解
name: John
  • 多行文字(Multiline Strings): YAML 可以使用多行文字,使用管道符號(|)或大於符號(>)。
description: |
  This is a multiline
  description in YAML.
  • 布林值(Booleans): YAML 可以使用布林值 true 和 false。
is_active: true
  • 字串和特殊符號: 字串可以使用引號(單引號或雙引號)括起來,特殊符號也可以使用引號括起來,例如:
message: "Hello, World!" 或 message: 'Hello, World!'
description: "This is a YAML 'string'."

範例: YAML 檔可以用來定義整個 CI/CD 流程,包括構建、測試、部署和通知等步驟。以下是一個簡單的 .gitlab-ci.yml 流程範例:

stages:
  - build
  - test
  - deploy

build:
  stage: build
  script:
    - # 在這裡定義構建命令

test:
  stage: test
  script:
    - # 在這裡定義測試命令

deploy:
  stage: deploy
  script:
    - # 在這裡定義部署命令

上一篇
Day 19 建立自己的Docker image上傳至Docker Hub
下一篇
Day 21 Git 版本控制介紹
系列文
一步步學DevOps:30天入門計劃30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言