【Kubernetes】第二十六篇 - 布署前端项目(上)
创始人
2024-06-02 23:03:00
0

一,前言

上一篇,创建 Deployment、Service 完成后端项目布署;

本篇,开始介绍前端项目的部署;


二,创建前端项目

前端是一个简单的 react 项目

// package.json"scripts": {"start": "craco start","build": "craco build"}

项目入口:

// src/index.jsimport React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import 'antd/dist/antd.css';
import App from './App';ReactDOM.render(, document.getElementById('root'));

Dockerfile

// DockerfileFROM nginx:1.15-alpine
COPY build /etc/nginx/html // 将 build 目录中的打包编译后的文件,拷贝到 nginx 镜像目录 /etc/nginx/html 中
COPY conf /etc/nginx/  // 将conf目录下的 nginx 配置文件,拷贝到 nginx 配置文件目录 /etc/nginx/ 中
WORKDIR /etc/nginx/html

nginx 配置:
conf/nginx.conf

#user  nobody;
worker_processes  1;
events {worker_connections  1024;use epoll;
}
http {include mime.types;default_type  application/octet-stream;client_max_body_size  2048m;client_body_buffer_size 256k;client_header_buffer_size 1k;proxy_connect_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 6 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;log_format main     '$remote_addr - $remote_user [$time_local] "$host:$server_port" "$request" ''$status $body_bytes_sent "$request_body" "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for" "$request_time"';sendfile        on;tcp_nopush on;tcp_nodelay on;keepalive_timeout  65;gzip  on;gzip_min_length  1000;gzip_buffers  16  8k;gzip_http_version  1.1;gzip_comp_level  6;gzip_proxied any;gzip_types text/plain application/javascript text/css application/xml text/javascript application/json application/x-javascript text/xml application/xml+rss;gzip_vary  off;gzip_disable  "MSIE [1-6].";open_file_cache max=100000 inactive=20s;open_file_cache_valid 30s;open_file_cache_min_uses 2;open_file_cache_errors on;map $sent_http_content_type $expires {default                    off;text/html                  epoch;text/css                   max;application/javascript     max;application/font-woff      max;~image/                    max;}// 反向代理配置// service-cicd-backend 是后端项目的服务名upstream backend {server service-cicd-backend:7001;}server {listen 80;server_name  _;root /etc/nginx/html/;charset utf-8;proxy_redirect off;proxy_connect_timeout   10;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;location /index.html {#expires -1;add_header Cache-Control "no-store, must-revalidate";}location / {try_files $uri /index.html;}location ^~ /api/ {proxy_pass http://backend/;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_http_version 1.1;}}}

安装依赖,启动运行项目

// 安装依赖
npm install

image.png

备注:安装依赖包时,可能需要编译代码,会用到 c++编译器

yum -y install gcc gcc-c++ kernel-devel[root@k8s-node ~]# yum -y install gcc gcc-c++ kernel-devel

创建 git 仓库,提交代码(略):

git@gitee.com:BraveWangDev/cicd-frontend.git


三,创建 jenkins 任务

为前端项目创建 jenkins 任务:cicd-frontend

添加 git 地址:

构建环境添加环境变量,登录 docker 仓库的用户名和密码:

构建环境添加 node 依赖

添加构建脚本

#!/bin/sh -l
time=$(date "+%Y%m%d%H%M%S")
npm install --registry=https://registry.npm.taobao.org
npm run build
docker build -t 47.94.92.122:8082/cicd-frontend:$time .
docker login -u $DOCKER_LOGIN_USERNAME -p $DOCKER_LOGIN_PASSWORD 47.94.92.122:8082
docker push 47.94.92.122:8082/cicd-frontend:$time

测试构建

备注:node-pre-gyp是一个构建工具,这里需要使用 c++编译

构建成功:

镜像地址:47.94.92.122:8082/cicd-frontend:20220112231457


四,结尾

本篇,完成了前端项目的创建和 jenkins 配置;

下一篇,创建 Deployment、Service,完成前端项目的部署;

相关内容

热门资讯

“皖美智链 金赋江淮” 中国... 转自:新华财经为贯彻落实国家“人工智能+”行动部署,扎实推进科技创新与产业创新深度融合,5月17日,...
浙昆为青年演员量身打造大戏   由浙江京昆艺术中心出品,浙江京昆艺术中心(昆剧团)演出的昆剧《盛世红妆》,5月17日至18日在杭...
摩托车技巧挑战赛倡导文明骑行     比赛中,两名车手同场竞技。    本报记者林显威 摄  本报讯(记者林显威)南宁周末赛场,上...
市委常委会召开扩大会议   本报讯(记者吴军)5月17日上午,自治区党委常委、市委书记农生文主持召开市委常委会扩大会议,通报...
离婚已3年男子喊话前妻求放过 ... 转自:今晚报 【#离婚已3年男子喊话前妻求放过# 冯先生...
泰国精品购物节 超百种商品让你...     各种特色美食“泰美味”。    本报记者黄敬敏 摄    市民购买泰国榴莲。  本报讯(记者...
新冠阳性率明显上升,紧急提醒三... 近期全国多地新冠阳性率呈现明显上升趋势5月16日#新冠感染又抬头#的话题登社交媒体热搜榜引发社会各界...
中信证券:管理软件或是AI A... 中信证券发布研报称,2025年有望成为AI应用落地的元年,AI Agent应用场景有望迎来快速爆发。...
2025“文化中国·水立方杯”... 中新网伦敦5月18日电 (记者 欧阳开宇)5月17日,2025“文化中国·水立方杯”中文歌曲大赛英国...
湖南龙山第十届舍巴日开幕 展湘... 5月17日,湖南龙山县第十届舍巴日在湖南湘西龙山县惹巴拉古寨开幕。“舍巴日”是土家族歌舞祭祖、庆丰祈...
私家车跑“顺风”出事故,意外险... 来源:法治日报 顺风车是与他人合意,一同顺路搭乘前往目的地的共享出行方式,因其方便且实惠,受到不少人...
吉林市家政服务协会“三送”服务... 转自:中工网中工网讯 近日,吉林市家政服务协会工会联合会与解放军第九六五医院在吉林市大世界广场举办“...
什么是博物馆? 这堂公益研学课...     小朋友们在展厅里学习文物知识。    本报记者宋延康 摄  本报讯(记者陈蕾)博物馆到底是什...
尼日利亚发生武装袭击事件 至少... 中新网北京5月18日电 据多家外媒17日报道,5月15日在尼日利亚东北部博尔诺州发生的针对平民的袭击...
信息消费呈现两大发展态势 上海... 2025上海信息消费节于5月17日拉开帷幕。证券时报记者从开幕式上获悉,上海信息消费呈现两大发展态势...
俄罗斯食品文化节(俄罗斯制造)... 本报17日讯(记者孙铭阳)17日,由俄罗斯出口中心主办的俄罗斯食品文化节(俄罗斯制造)在哈尔滨正式开...
新华社权威快报 | 我国卫星导... 转自:新华社5月18日在京发布的《2025中国卫星导航与位置服务产业发展白皮书》显示,2024年我国...
“莎头组合”出战 多哈世乒赛第... 转自:央视新闻客户端今天,多哈世乒赛迎来第二个比赛日中国军团将在混双、女双、男女单打等多条战线全面出...
墨西哥海军一帆船撞上纽约布鲁克... 转自:财联社【墨西哥海军一帆船撞上纽约布鲁克林大桥 多人落水】财联社5月18日电,一艘载有200人的...
江苏队实现“六连冠” 广西队获... 广西队兰星宇在比赛中。 本报记者宋延康 摄江苏队尤浩在比赛中。本报记者宋延康 摄  昨日,20...