stages: - npm_build # 镜像构建和打包推送阶段 - npm_publish # 应用部署uat - npm_fresh_CDNvariables: KUBECONFIG: /etc/deploy/config # 定义全局变量KUBECONFIG project: crm-in static_root: production_dist/ dev_dir: /nfs/dev-k8s/namespace/dev/incdn/$project test_dir: /nfs/k8s-test/namespace/test/incdn/$project online_dir: /nfs/k8s/namespaces/production/incdn/$project domain: "https://$project.rccchina.com/" tools: yarn node_version: v12.14.1 #tools: npmnpm_dev_build_job: # job名称 stage: npm_build # 关联的阶段名称 variables: env: dev tags: # GitLab Runner的tag - new-ecs-dev cache: key: $project-$env paths: - node_modules/ - yarn.lock - production_dist/ only: - /^new-dev.*$/ script: - nvm use $node_version - node -v - npm -v - ls - $tools install - $tools build:$envnpm_online_build_job: # job名称 stage: npm_build # 关联的阶段名称 variables: env: online tags: # GitLab Runner的tag - ecs cache: key: $project-$env paths: - node_modules/ - package-lock.json - production_dist/ only: - tags script: - nvm use $node_version - node -v - npm -v - ls - $tools install - $tools build:$envnpm_dev_publish_job: # job名称 stage: npm_publish # 关联的阶段名称 variables: env: dev tags: # GitLab Runner的tag - new-ecs-dev cache: key: $project-$env paths: - node_modules/ - package-lock.json - production_dist/ only: - /^new-dev.*$/ script: - rm -rvf $dev_dir - cp -av $static_root $dev_dir# - python3 /opt/ops/gitlab/send_im.py $GITLAB_USER_EMAIL $CI_PROJECT_NAME $CI_COMMIT_REF_NAME $CI_JOB_URL $CI_PIPELINE_IDnpm_online_publish_job: # job名称 stage: npm_publish # 关联的阶段名称 variables: env: online tags: # GitLab Runner的tag - ecs cache: key: $project-$env paths: - node_modules/ - package-lock.json - production_dist/ only: - tags script: - rm -rvf $online_dir - cp -av $static_root $online_dirnpm_online_fresh_cdn_job: stage: npm_fresh_CDN # 关联的阶段名称 variables: env: online tags: # GitLab Runner的tag - ecs cache: key: $project-$env paths: - node_modules/ - package-lock.json - production_dist/ only: - tags script: - python3 /opt/ops/cdn/refresh_cdn.py $domain - python3 /opt/ops/gitlab/send_im.py $GITLAB_USER_EMAIL $CI_PROJECT_NAME $CI_COMMIT_REF_NAME $CI_JOB_URL $CI_PIPELINE_ID $CI_COMMIT_MESSAGE#deploy_k8s_pro_v2_job: # job名称# image: registry.cn-hangzhou.aliyuncs.com/haoshuwei24/kubectl:1.16.6 # 关联的阶段名称# stage: deploy_production# tags:# - pro-k8s-v2-runner# only:# - master# script:# - mkdir -p /etc/deploy# - curl http://devops.rccchina.com/kustomize/deploy/pro/$CI_PROJECT_NAME/$CI_PIPELINE_ID# when: manual