首页 > 其他分享 >Drone+前端 实践

Drone+前端 实践

时间:2023-04-16 15:56:56浏览次数:45  
标签:node src name 前端 实践 drone nginx Drone build

1.nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;

    keepalive_timeout  65;

    # include /etc/nginx/conf.d/*.conf;

    upstream backupUrl {
        server 192.168.64.129:8080 weight=1 max_fails=2 fail_timeout=10s;
    }

  	server {
        listen       80;
        charset utf-8;
		# 服务器地址或绑定域名
        server_name  192.168.64.129;
    	# start ---------------------------------------------------------------------------------------------
        location / {
           root   /usr/share/nginx/html;
           index index.html index.htm;
           try_files $uri $uri/ /index.html;
        }

        location /api/ {
           proxy_pass http://192.168.64.129:8080/;
           #proxy_set_header Host $host;
           #proxy_set_header X-Real-IP $remote_addr;
           #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           #proxy_set_header REMOTE-HOST $remote_addr;
           #add_header X-Cache $upstream_cache_status;
           #add_header Cache-Control no-cache;
        }
        # end ---------------------------------------------------------------------------------------------

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
   }
}

2.Dockerfile

FROM nginx:latest
RUN rm /etc/nginx/conf.d/default.conf
RUN rm /etc/nginx/nginx.conf
COPY ./nginx/nginx.conf /etc/nginx/
COPY ./dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

3.[.drone.yml]

kind: pipeline # 定义一个管道
type: docker # 定义管道类型
name: deployment # 定义管道名称

steps: # 定义流水线执行步骤,这些步骤将顺序执行
  - name: build-project # 流水线名称
    image: node:latest # 定义创建容器的Docker镜像
    volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置
      - name: node_modules  # 数据卷名称
        path: /drone/src/Web/node_modules # 容器内的绝对路径
      - name: node_build
        path: /drone/src/build
    commands:
      - rm -rf ./build/*
      - mkdir -p ./build/nginx
      - cd ./Web
      - export NODE_OPTIONS="--max-old-space-size=8192"
      - npm config set registry https://registry.npmmirror.com
      - npm install
      - npm run build
      - cp /drone/src/Dockerfile  /drone/src/build
      - cp /drone/src/nginx.conf  /drone/src/build/nginx/
      - cp -r ./dist  /drone/src/build/dist
      - echo project build success
  - name: build-docker
    image: plugins/docker
    privileged: true
    settings:
      context: /drone/src/build
      dockerfile: /drone/src/build/Dockerfile
    commands:
      - cd /drone/src/build
      - docker build -t fanqi/coreqi-web:latest .
      - docker stop coreqi-web && docker rm coreqi-web
      - docker run -d -p 10010:80 --name coreqi-web fanqi/coreqi-web:latest
    volumes:
      - name: node_build
        path: /drone/src/build
      - name: dockersock
        path: /var/run/docker.sock

# 声明宿主机 映射到 drone执行器的数据卷,用于共享数据
volumes:
  - name: node_modules
    host:
      path: /mnt/drone/node/node_modules # 宿主机的绝对路径
  - name: node_build
    host:
      path: /mnt/node
  - name: dockersock
    host:
      path: /var/run/docker.sock

# 可限制哪些分支可以推送自动CICD
trigger:
  branch:
    - main

 

标签:node,src,name,前端,实践,drone,nginx,Drone,build
From: https://www.cnblogs.com/fanqisoft/p/17323390.html

相关文章

  • 6. Element Plus前端组件库
    ElementPlus前端组件库大纲ElementPlus基本使用容器布局导航栏字体图标栅格布局卡片表单数据表格反馈提示ElementPlus基本使用Element-UI是基于Vue开发的一套UI组件库,提供丰富网页开发的组件,可快速开发网站,降低前端开发成本。目前ElementUI有两个版本:Eleme......
  • OPCUA实践之winnt服务源码分享
    前言孔乙己显出极高兴的样子,将两个指头的长指甲敲着柜台,点头说:“对呀,对呀!......OPCUA,你用过么?”大家好,我是44岁的大龄程序员码农阿峰。离开上一个项目近半年了,这时当时在项目做的3个winnt服务,算是OPCUA的初次使用,代码并没有什么出彩的地方,却是能正常运行,而且工作了近1年的时......
  • 前端设计,确定按钮正慢慢消失
    不论做什么产品,界面上几乎都少不了「确定」按钮,例如:操作提示时、进行选择时、填写表单数据时……完成、保存、下单……各种代表“确定某一步骤”的按钮,都可以统称为确定按钮。以前的产品设计,大量以来确定按钮,但是现在的产品设计,确定按钮用得越来越少了。倒不是因为不需要确定......
  • [全程建模]UML应用与实践的对话——需求中流程与用例的关系
    Tony2008-07-2404:37:09有个问题请教一下你认为是流程中包含用例还是用例中包含流程?用例是否能体现所有需求?对用例是否应该分层,分层的原则是什么?青润07:24:51应该说,大的流程里面包含有用例,而用例里面包含有其内部的细节流程。呵呵用例肯定要考虑分层,我定义的两条原则是:业务相关......
  • 什么是前端开发领域的 Cumulative Layout Shift 问题
    CLS是CumulativeLayoutShift(累计布局偏移)的缩写,它是一个用于度量网页稳定性的指标。CLSissue指的是网页在加载过程中存在的累计布局偏移问题,这些问题会导致网页元素在页面上闪烁或跳动,影响用户体验。在前端开发中,CLSissue是一个常见的问题,通常由于页面中的图片、视频或广......
  • 前端&后端程序员必备的Linux基础知识
    一从认识操作系统开始1.1操作系统简介我通过以下四点介绍什么操作系统:操作系统(OperationSystem,简称OS)是管理计算机硬件与软件资源的程序,是计算机系统的内核与基石;操作系统本质上是运行在计算机上的软件程序;为用户提供一个与系统交互的操作界面;操作系统分内核与外壳(我......
  • Meetup 直播预告|助力企业数字化转型,8 大微服务&容器开源实践亮点抢先看
    随着数字化、智能化发展趋势不断加快,大中小型企业纷纷将企业“上云”提上日程,推动企业数字化转型。云时代下,企业需要新技术架构,使之更好地利用云计算优势,让业务更敏捷、成本更低、可伸缩性更强,云原生正逐步成为企业数字化转型的“最短路径”。2023年4月15日,由阿里云云原生应用......
  • Meetup 直播预告|助力企业数字化转型,8 大微服务&容器开源实践亮点抢先看
    随着数字化、智能化发展趋势不断加快,大中小型企业纷纷将企业“上云”提上日程,推动企业数字化转型。云时代下,企业需要新技术架构,使之更好地利用云计算优势,让业务更敏捷、成本更低、可伸缩性更强,云原生正逐步成为企业数字化转型的“最短路径”。2023年4月15日,由阿里云云原生应......
  • 前端小知识点扫盲笔记记录8
    前言我是歌谣放弃很容易但是坚持一定很酷微信公众号关注前端小歌谣带你进入前端巅峰交流群今天继续对前端知识的小结命令模式宏命令<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge">......
  • ES6 NO.1( var、let 和 const 命令 )| 前端小白的的第一篇博客~
    varvar声明的变量存在变量提升即在声明该变量之前就可以使用,值为undefined,其作用域为全局;let和constlet用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效;const只能用来声明常量,一旦赋值,不能修改,故使用const不能只声明不赋值;区别var和let......