【Drone】drone编译web端 防墙策略 | 如何在被墙的状态drone顺利编译npm

一、drone编译防墙版本

1、web端drone

yaml 复制代码
kind: pipeline
type: docker
name: ui
steps:
  - name: build_project
    image: node:20-slim 
    depends_on: [clone]
    volumes:
      - name: node_modules
        path: /drone/src/node_modules
    commands:
      - pwd
      - du -sh *
      - npm config set registry https://registry.npmmirror.com
      - npm install -g pnpm || npm install -g pnpm || npm install -g pnpm  # Retry logic
      - pnpm config set store-dir /drone/src/node_modules/.pnpm-store
      - pnpm install || pnpm install || pnpm install  # Retry logic
      - npm run build
      - du -sh *

  - name: build_image
    image: plugins/docker:20
    depends_on: [build_project]
    # volumes:
    #   - name: docker-sock
    #     path: /var/run/docker.sock
    settings:
      dockerfile: Dockerfile
      registry: registry.cn-beijing.aliyuncs.com
      repo:  registry.cn-beijing.aliyuncs.com/xxx/cp-business-web
      auto_tag: true
      insecure: true
      username:
        from_secret: docker_username
      password:
        from_secret: docker_password


trigger:
  #  branch:
  #    - main
  ref:
    - refs/tags/*
    - refs/heads/master

volumes:
  - name: go_cache
    host:
      path: /root/.go/cache

2、详解

1、name


2、step 编译步骤

第一个 image,image: node:20-slim 这里需要你找到开源的镜像
这里commands一定要加上中国的镜像源

yaml 复制代码
    commands:
      - pwd
      - du -sh *
      - npm config set registry https://registry.npmmirror.com
      - npm install -g pnpm || npm install -g pnpm || npm install -g pnpm  # Retry logic
      - pnpm config set store-dir /drone/src/node_modules/.pnpm-store
      - pnpm install || pnpm install || pnpm install  # Retry logic
      - npm run build
      - du -sh *

这里是重要的防墙处理如果不处理 则npm 一安装就报错

3、各种报错如下

二、drone 讲解请参考如下:

https://ctraplatform.blog.csdn.net/article/details/130003341

相关推荐
前端老宋Running13 小时前
一次从“卡顿地狱”到“丝般顺滑”的 React 搜索优化实战
前端·react.js·掘金日报
隔壁的大叔13 小时前
如何自己构建一个Markdown增量渲染器
前端·javascript
用户44455436542613 小时前
Android的自定义View
前端
WILLF13 小时前
HTML iframe 标签
前端·javascript
枫,为落叶13 小时前
Axios使用教程(一)
前端
小章鱼学前端13 小时前
2025 年最新 Fabric.js 实战:一个完整可上线的图片选区标注组件(含全部源码).
前端·vue.js
ohyeah13 小时前
JavaScript 词法作用域、作用域链与闭包:从代码看机制
前端·javascript
流星稍逝13 小时前
手搓一个简简单单进度条
前端
L***B56813 小时前
如何安装linux版本的node.js
linux·运维·node.js
倚栏听风雨13 小时前
详解 TypeScript 中,async 和 await
前端