前端项目(vue3)自动化部署,【工作感悟】

- docker images | grep $PROJECT_IMAGE_NAME
# 删除镜像
- docker rmi -f $IMAGE_HARBOR_REPOSITOTY/$PROJECT_IMAGE_NAME:$PROJECT_IMAGE_TAG

dependencies:
- job1-package


`注意1: 这里需要格外注意的地方是,配置中image参数使用ndoe后,执行命令的环境会默认使用镜像中的node和yarn版本 但node镜像中无zip和unzip工具,所以需要在命令中执行,但在执行apt安装前必须apt update更新apt`  
 `注意2: 打包阶段使用的是node镜像,node中没有docker,故无法使用docker命令,所以没办法构建镜像,也无法实现将镜像推送到harbor镜像仓库。我们新加一个构建镜像的阶段使用docker镜像,在此阶段使用docker命令构建镜像并推送到harbor镜像仓库`  
 `注意3: 使用npm和yarn的区别,npm是node自带的,yarn是第三方的,yarn命令和npm命令类似,但有些npm命令可以直接将npm换成yarn使用,如npm install等同于yarn,但也可以使用yarn install替代`  
 npm和yarn的命令:




| npm命令 | yarn命令 |
| --- | --- |
| npm install | yarn |
| npm run build | yarn build |
| npm run server | yarn server |
| npm install 包名 --save | yarn add 包名 |
| npm install 包名 --save-dev | yarn add 包名 --dev |


## 六、构建镜像


提交代码即可触发自动化构建镜像的过程  
 在构建镜像后会将镜像推送到harbor镜像仓库  
 可在harbor镜像仓库中查看  
 如图


## 七、部署所需配置文件


将以下配置文件本地编辑后上传到服务器,或者直接在服务器中进行编辑  
 我这里先在服务器中创建一个front-vue-yaml文件夹,然后将文件上传到文件夹中  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6e75086bb4f740e6b1b06ceeaf674473.png)


部署所需配置文件


### 1. pvc文件


front-vue-pvc.yaml



apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: front-vue-pvc
namespace: ns-front-vue
spec:
accessModes:
- ReadWriteOnce
storageClassName: openebs-hostpath
resources:
requests:
storage: 5Gi


### 2. deployment文件


front-vue-dplm.yaml



apiVersion: apps/v1
kind: Deployment
metadata:
name: front-vue-dplm
namespace: ns-front-vue
labels:
name: front-vue-dplm
spec:
replicas: 1
selector:
matchLabels:
name: front-vue-dplm
template:
metadata:
name: front-vue-dplm
labels:
name: front-vue-dplm
spec:
containers:
- name: front-vue-dplm
image: 173.33.0.224:8443/k8s-demo/k8s-front:v20240208
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 80
volumeMounts:
- mountPath: /home/front-vue-demo/data
name: data
volumes:
- name: data
persistentVolumeClaim:
claimName: front-vue-pvc


### 3. service文件


front-vue-svc.yaml



apiVersion: v1
kind: Service
metadata:
name: front-vue-svc
spec:
selector:
app: front-vue-svc
ports:

  • protocol: TCP
    port: 80
    targetPort: 80
    type: LoadBalancer


apiVersion: v1
kind: Service
metadata:
name: front-vue-svc
namespace: ns-front-vue
labels:
name: front-vue-svc
spec:
ports:
- protocol: TCP
port: 80
targetPort: 80
nodePort: 30090
selector:
name: front-vue-dplm
type: NodePort


## 八、部署项目


部署之前先创建命名空间,后续方便管理部署的服务


### 1. 创建命名空间



kubectl create namespace ns-front-vue


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/523916722aa8477fa0ae8a11f737a827.png)  
 查看刚刚创建的命令空间



kubectl get ns | grep vue


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f34e38d49e584711b9d4a02b39e27e16.png)


执行命令部署服务


### 2. 部署pvc



kubectl apply -f front-vue-yaml/front-vue-pvc.yaml


### 3. 部署deployment



kubectl apply -f front-vue-yaml/front-vue-dplm.yaml


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/64a8fbf1c429434486664bb895dff284.png)


### 4. 部署svc



kubectl apply -f front-vue-yaml/front-vue-svc.yaml


也可以尝试一次性部署front-vue-yaml文件中的所有yaml文件



kubectl apply -f front-vue-yaml/*.yaml


## 九、查看服务


### 1. 查看pvc



kubectl get pvc -n ns-front-vue


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7ddd5be70f414188a9190227d2ce5f7b.png)


### 2. 查看deployment



kubectl get deployment -n ns-front-vue


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/bc603fb8c2ce4c4b9d2f73d5617a55e9.png)


或者



kubectl get pod -n ns-front-vue


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9bffe0cf71a04546964584a774883813.png)


### 3. 查看svc



kubectl get svc -n ns-front-vue


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6deba553b6664c22a2cec3c4be17aa45.png)


## 十、访问项目




---


## 二、Nginx安装配置


以下命令如果执行无root权限则需在命令前加sudo


### 1. 安装nginx


#### 1.1 安装



yum install nginx


安装完成  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/19aafb7bf67544f49ca4eb0a8c46d9da.png)


#### 1.2 启动nginx



service nginx start

systemctl start nginx


#### 1.3 查看nginx状态



service nginx status

systemctl status nginx


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/89d4bfde6dec465992ed5287955b7135.png)  
 可以从输出打印的内容看到nginx的配置文件nginx.conf在/etc/nginx/文件夹中


#### 1.4 验证nginx


访问nginx确保可用


##### 1.4.1 nginx访问地址获取


安装nginx后使用服务器ip和nginx的端口号来访问nginx  
 ip为nginx安装位置的服务器ip  
 nginx端口号默认为80,当然也可以到/etc/nginx/nginx.conf文件中查看如下



cat /etc/nginx/nginx.conf


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f3e5085ab5a9417fa241a6df7efa6e66.png)


##### 1.4.2 访问nginx



173.33.0.224:80



**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/1673a356a6e1640f2c10fe52c3dac12a.png)
![img](https://img-blog.csdnimg.cn/img_convert/613aed32bd5b092b36e1083c5e08f6ff.png)
![img](https://img-blog.csdnimg.cn/img_convert/93ba7dbea605973d66eb5c0f264fe8d7.png)
![img](https://img-blog.csdnimg.cn/img_convert/d0ea7066becaee35f4b85119c841272a.png)
![img](https://img-blog.csdnimg.cn/img_convert/24efed2689e7430778a5607eb2146590.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/2ea0bcf24035a20a7d375520858ef253.jpeg)



### 最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/10f52e917e5874ebd711f41350c7f3c4.png)

给大家整理的电子书资料:

  

![](https://img-blog.csdnimg.cn/img_convert/388c02a15c6d5e2174db77e00ca49031.png)



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**


[**一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)

**AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

  

[外链图片转存中...(img-dcy9crWZ-1712399861072)]



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**


[**一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)

**AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值