Skip to content

环境部署

项目组测试环境只需部署前端脚手架及后端业务服务,公共服务使用盘古公共服务。生产环境盘古公共服务部分可选择使用盘古公共或自行搭建。

前端部署

流水线注意事项

  1. 进行javascript代码编译,安装依赖时,需使用pnpm进行安装,并将pnpm源设置为海信私服。
bash
pnpm config set registry http://nexus.hisense.com/repository/npm-public/
pnpm install
pnpm run build
  1. javascript代码编译时,基础环境选择node:18.18.0
  2. 流水「设置」页签,设置定制节点为node_18
image

Nginx配置

前端部署建议添加如下两个nginx配置文件。

  1. /etc/nginx/conf.d/default.conf:用于请求代理
  2. /etc/nginx/nginx.conf:用于gzip压缩配置

1. /etc/nginx/conf.d/default.conf

bash
server {
   listen 8080;
   server_name localhost;
   underscores_in_headers on;
   #默认主页
   index index.html;

   #跨域问题
   add_header Access-Control-Allow-Origin *;
   add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
   add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

   #静态页面目录
   root /tmp/static;

   client_max_body_size 2048m;

   proxy_connect_timeout 12500s;
   proxy_send_timeout 12000s;
   proxy_read_timeout 12000s;
   
   location / {
      try_files $uri $uri/ /index.html; #主要是这句配置
   }
   
   location /uni {
      proxy_pass http://pangea-mobile-micro.clouddev.hisense.com;
   }

   location /minio/ {
      proxy_pass http://10.19.44.209:8060/pangea-stage-bucket/; 
   }

   # 开发平台微应用
   location /pangeadevplatform/ {
      proxy_pass http://pangea-devplatform-web-dev.clouddev.hisense.com/;
   }

   location /node_modules/ace-builds {
      proxy_pass https://symamicrodev.hisense.com;
   }
   
   location /walnut/ {
      proxy_pass http://walnut-plugincenter-pangea-publicserver.clouddev.hisense.com;
   }

   location /api/ {
      proxy_pass http://pangea-gateway.test-jcjg-pangea-pangeav3-test:9527/; 
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header authorization $http_authorization;
      proxy_cookie_path /project /proxy_path;
   }

   location /intl/ {
      proxy_pass http://pangea-gateway.test-jcjg-pangea-pangeav3-test:9527/; 
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header authorization $http_authorization;
      proxy_cookie_path /project /proxy_path;
   }
   
   location /auth/ {
      proxy_pass http://pangea-gateway.test-jcjg-pangea-pangeav3-test:9527; 
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header authorization $http_authorization;
      proxy_cookie_path /project /proxy_path;
   }
   
   # kkfile
   location /pangeakkfile/ {
      proxy_pass http://kkfile-pangea-2-test-oracle.devapps.hisense.com/;
   }
}

2. /etc/nginx/nginx.conf

bash
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;
    #tcp_nopush on;

    keepalive_timeout 65;

    gzip on;
    gzip_min_length 1k;
    gzip_buffers 8 16k;
    gzip_comp_level 4;
    gzip_types application/x-javascript  application/javascript  text/css text/javascript image/jpeg image/gif image/png image/x-icon;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

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