DockerFile
DockerFile 是用來建立 Docker image 的檔案。
GitLab CI
GitLab CI 是 GitLab 的 CI/CD 工具,允許定義和運行自動化測試和部署管道。
您可以在 repository 中配置 .gitlab-ci.yml 檔案來定義 CI/CD 流程,並使用選定的 runner 來執行這些流程。
Argo CD
Argo CD 是一個用於 Kubernetes 的持續部署 (CD) 工具,它能夠自動化應用程式部署到 Kubernetes 集群中。
Argo CD 通過監控 git repository 中的定義文件 (例如 YAML 檔案) 並將其同步到 Kubernetes 集群來實現部署。
Kubernetes YAML
Kubernetes YAML 檔案包含了 Kubernetes 資源的定義,例如 Pod、Service、Deployment 等。
它們描述了應用程式在 Kubernetes 集群中的配置和部署方式。
Example
利用 .gitlab-ci.yml 定義 build, test, deploy 等各個階段。
- build: 利用 DockerFile 將 image 建立並推到 registry
- test: 執行 unit test & integration tets
- deploy: 將 k8s yaml 推到 release repository
最後由 Argo CD 監聽 release repository 的變化,使用 k8s yaml 部署上去。
ʕ •ᴥ•ʔ:稍微整理一下相關的概念!
感謝 Kyo 的解惑。