Slide 28
Slide 28 text
Cloud Native Developers JP
マニフェストのテンプレートのTravisのジョブ
• パラメータファイルを元に環境ごとのmanifestを作っている
– manifestの生成はKustomizeを利用
– https://github.com/cndjp/qicoo-api-manifests/blob/c1e7e38f1a38b9de44ad0c8c359bccd2411eacd1/Makefile#L11
– https://github.com/cndjp/qicoo-api-manifests/blob/c1e7e38f1a38b9de44ad0c8c359bccd2411eacd1/Makefile#L60
28
ifeq ($(UPDATED_BRANCH), "release")
PATCH_DIR := overlays/staging
REPOSITORY := https://github.com/cndjp/qicoo-api-manifests-staging.git
else ifeq ($(UPDATED_BRANCH), "master")
…
kustomize-build:
$(eval KUSTOMIZE := $(shell echo $(HOME)/kustomize))
mkdir $(MANIFEST_DIR)
find $(PATCH_DIR) -type f | xargs sed -i -e "s/@@NEW_TAG@@/$(DOCKER_IMAGE_TAG)/g"
$(KUSTOMIZE) build $(PATCH_DIR) -o $(MANIFEST_DIR)/$(MANIFEST_FINAL_NAME_ALL)
@if test "$(UPDATED_BRANCH)" = "master"; ¥
then ¥
$(KUSTOMIZE) build $(PATCH_DIR_BASE) -o $(MANIFEST_DIR)/$(MANIFEST_FINAL_NAME_BASE); ¥
$(KUSTOMIZE) build $(PATCH_DIR_CANARY) -o $(MANIFEST_DIR)/$(MANIFEST_FINAL_NAME_CANARY); ¥