【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

相关推荐
热忱11281 小时前
elementUI Table组件实现表头吸顶效果
前端·vue.js·elementui
林涧泣1 小时前
【Uniapp-Vue3】setTabBar设置TabBar和下拉刷新API
前端
Rhys..1 小时前
Jenkins pipline怎么设置定时跑脚本
运维·前端·jenkins
易林示1 小时前
chrome小插件:长图片等分切割
前端·chrome
zhaocarbon2 小时前
VUE elTree 无子级 隐藏展开图标
前端·javascript·vue.js
浏览器爱好者2 小时前
如何在AWS上部署一个Web应用?
前端·云计算·aws
xiao-xiang2 小时前
jenkins-通过api获取所有job及最新build信息
前端·servlet·jenkins
C语言魔术师3 小时前
【小游戏篇】三子棋游戏
前端·算法·游戏
匹马夕阳4 小时前
Vue 3中导航守卫(Navigation Guard)结合Axios实现token认证机制
前端·javascript·vue.js
你熬夜了吗?4 小时前
日历热力图,月度数据可视化图表(日活跃图、格子图)vue组件
前端·vue.js·信息可视化