# gitlab-ci 机制

gitlab 提供了自动部署的能力,其自动部署本质上就是启动一个 docker,在镜像内执行一些脚本,在提交代码后根据配置文件自动执行一些脚本

# 如何使用

首先在项目内创建一个 gitlab-ci.yml 文件,这是自动部署入口,所有的逻辑都是基于这个文件开始的

文件的整体结构

stages:
  - deploy //定义步骤
deploy_job:   //具体的执行任务
  stage: deploy 
  image: node:21   //docker镜像
  before_script: //开始前的脚本
    - npm install -g wrangler
  script: //主要脚本
    - export CLOUDFLARE_ACCOUNT_ID=$CLOUDFLARE_ACCOUNT_ID
    - export CLOUDFLARE_API_TOKEN=$CLOUDFLARE_API_TOKEN
    - npm install
    - npm run deploy
  after_script: //收尾的脚本
    - |-
      cat << EOF > 1.json
      {"msg_type":"interactive","card":{"elements":[{"tag":"markdown","content":"项目名:**$CI_PROJECT_TITLE** <br>分支名:**$CI_COMMIT_BRANCH** <br>提交信息:**$CI_COMMIT_MESSAGE** <br>CF Pages 部署域名:**admin-luckyshort-com.pages.dev**"}],"header":{"template":"green","title":{"content":"BI后台部署成功","tag":"plain_text"}}}}
      EOF
    - |-
      cat << EOF > fs.sh
      #!/bin/bash
      curl -X POST "https://open.feishu.cn/open-apis/bot/v2/hook/57083d96-04bc-4a29-8cad-ed98dd72f2b1" -H 'Content-Type: application/json' -d @1.json
      EOF
    - chmod a+x ./fs.sh
    - ./fs.sh
  only:  //执行规则
    - main 
  cache: //是否需要缓存
    key: npm-cache
    paths:
      - .npm/
      - node_modules
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

fuuuzzy 微信支付

微信支付

fuuuzzy 支付宝

支付宝

fuuuzzy 贝宝

贝宝