diff --git a/.cnb.yml b/.cnb.yml index 709e425..e95b70d 100644 --- a/.cnb.yml +++ b/.cnb.yml @@ -1,4 +1,19 @@ # .cnb.yml +include: + - https://cnb.cool/kevisual/cnb/-/blob/main/.cnb/template.yml + +.common_env: &common_env + env: + TO_REPO: kevisual/cnb + TO_URL: git.xiongxiao.me + KUBECONFIG_CONTEXT: dev-cluster + KUBECONFIG_DEPLOYMENT: blog + KUBECONFIG_NAMESPACE: default + imports: + - https://cnb.cool/kevisual/env/-/blob/main/.env.development + services: + - docker + $: vscode: - docker: @@ -6,74 +21,47 @@ $: services: - vscode - docker - imports: https://cnb.cool/kevisual/env/-/blob/main/.env.development + imports: !reference [.common_env, imports] # 开发环境启动后会执行的任务 # stages: # - name: pnpm install # script: pnpm install .common_sync_to_gitea: &common_sync_to_gitea - services: - - docker - imports: - - https://cnb.cool/kevisual/env/-/blob/main/.env.development - env: - TO_REPO: kevisual/cnb - TO_URL: git.xiongxiao.me - stages: - - name: '显示 git remote' - script: git remote -v - - name: sync to gitea - image: tencentcom/git-sync - settings: - target_url: https://${TO_URL}/${TO_REPO}.git - auth_type: https - username: "oauth2" - password: ${GITEA_TOKEN} - git_user: "abearxiong" - git_email: "xiongxiao@xiongxiao.me" - sync_mode: rebase - branch: main + - <<: *common_env + stages: !reference [.common_sync_to_gitea_template, stages] + .common_sync_from_gitea: &common_sync_from_gitea - services: - - docker - imports: - - https://cnb.cool/kevisual/env/-/blob/main/.env.development - env: - TO_REPO: kevisual/cnb - TO_URL: git.xiongxiao.me - stages: - - name: '添加 gitea的origin' - script: | - git remote remove gitea 2>/dev/null || true - git remote add gitea https://oauth2:${GITEA_TOKEN}@${TO_URL}/${TO_REPO}.git - - name: '同步gitea代码到当前仓库' - script: git pull gitea main - - name: '提交到原本的origin' - script: git push origin main + - <<: *common_env + stages: !reference [.common_sync_from_gitea_template, stages] + +.common_deploy_kubectl: &common_deploy_kubectl + - <<: *common_env + services: !reference [.kubectl_deploy_template, services] + stages: !reference [.kubectl_deploy_template, stages] + +.common_build: &common_build + - <<: *common_env + services: !reference [.build_images_template, services] + stages: !reference [.build_images_template, stages] main: - web_trigger_sync_to_gitea: - - <<: *common_sync_to_gitea + web_trigger_sync_to_gitea: + - <<: *common_sync_to_gitea web_trigger_sync_from_gitea: - - <<: *common_sync_from_gitea + - <<: *common_sync_from_gitea api_trigger_sync_to_gitea: - - <<: *common_sync_to_gitea + - <<: *common_sync_to_gitea api_trigger_sync_from_gitea: - - <<: *common_sync_from_gitea + - <<: *common_sync_from_gitea + # other + web_trigger_deploy_kubectl: + - <<: *common_deploy_kubectl + api_trigger_deploy_kubectl: + - <<: *common_deploy_kubectl + web_trigger_build: + - <<: *common_build + api_trigger_build: + - <<: *common_build + -deploy: - push: - - docker: - image: docker.cnb.cool/kevisual/dev-env:latest - services: - - vscode - - docker - stages: - - name: 打包应用 - script: pnpm build - # 同名镜像构建&推送 - - name: Docker build - script: docker build -t ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest . - - name: Docker push - script: docker push ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..0b3fbd3 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "yaml.customTags": ["!reference sequence"] +} \ No newline at end of file