当前位置: 首页 > java >正文

jenkins部署前端vue项目使用Docker+Jenkinsfile方式

文章目录

  • 前言
  • 一、前提准备
  • 二、准备构建文件
  • 三、Jenkins中构建项目
  • 总结


前言

前面通过jenkins+docker的方式部署了若依前端vue项目,接下来接着学习使用Jenkinsfile的方式部署前端vue项目。


一、前提准备

已经安装好centos服务器,并且安装了jenkins和docker。gitee中新建工程,并且上传ruoyi-vue项目成功。
在这里插入图片描述

二、准备构建文件

打开ry-vue-ui前端项目,新建docker文件夹,新建Dockerfile、.dockerignore、nginx.conf三个配置文件。
在这里插入图片描述

Dockerfile镜像构建文件内容如下:

# 拉取nginx基础镜像
FROM nginx:1.21.1# 维护者信息
MAINTAINER zhy# 将dist文件中的内容复制到 `/usr/share/nginx/html/` 这个目录下面
COPY dist/  /usr/share/nginx/html/
# 用本地配置文件来替换nginx镜像里的默认配置
COPY nginx.conf /etc/nginx/nginx.conf# 对外暴漏的端口号
# [注:EXPOSE指令只是声明容器运行时提供的服务端口,给读者看有哪些端口,在运行时只会开启程序自身的端口!!]
EXPOSE 80# 启动nginx容器
CMD ["nginx", "-g", "daemon off;"]

.dockerignore忽略文件内容如下:

node_modules

nginx.conf配置文件内容如下:

worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {# nginx 监听端口listen       80;# 服务器ipserver_name  192.168.17.79;location / {# 前端资源存放路径root   /usr/share/nginx/html;index  index.html index.htm;try_files $uri $uri/ /index.html;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

在前端项目根目录新建Jenkinsfile
在这里插入图片描述

内容如下:

pipeline {agent any// 环境变量environment {// 名称APP_NAME = 'vue-web'// 环境APP_PROFILE = 'prod'// 镜像名称APP_IMAGE = 'ry-vue-web'// 端口APP_PORT = 99}stages {stage('vue环境准备') {steps {sh """cd ry-vue-demo-ui/# 下载依赖 & 构建distsudo npm install && sudo npm run build:${APP_PROFILE}# 拷贝dist到Docker目录下cp -r dist docker/"""}}stage('构建Docker镜像') {steps {sh """# 删除旧容器docker ps -a | grep ${APP_NAME} | awk '{print \$1}' | xargs -i docker stop {} | xargs -i docker rm {}# 删除旧镜像docker images | grep ${APP_NAME} | awk '{print \$3}' | xargs -i docker rmi {}# 进入Docker目录cd ry-vue-demo-ui/docker/# 构建镜像docker build -f Dockerfile -t ${APP_IMAGE} . --no-cache"""}}stage('运行容器') {steps {sh """docker run -d -p ${APP_PORT}:80 --restart=always --name ${APP_NAME} ${APP_IMAGE}"""}}}
}

提交代码到gitee中

注意:以上文件内容涉及到的路径均需和你自己的路径匹配,不一致记得修改。

三、Jenkins中构建项目

打开jenkins新建任务,选择流水线项目
在这里插入图片描述
增加描述信息
在这里插入图片描述
流水线选择SCM
在这里插入图片描述
选择git
在这里插入图片描述
复制你gitee中的项目地址
在这里插入图片描述
粘贴到jenkins中,选择凭证和分支,没有凭证的话,点击添加自行添加gitee的用户凭证
在这里插入图片描述
然后保存,立即构建,可以查看控制台输出在这里插入图片描述
我这里报错了,是因为在这个项目下没有找到Jenkinsfile文件,他可能有个检测机制
在这里插入图片描述
点击配置,修改Jenkinsfile的路径,因为我的Jenkinsfile是在前端工程下面,没有在整个项目下面,所以需要加前端项目路径。
在这里插入图片描述
保存,接着构建
在这里插入图片描述
构建成功,浏览器访问项目测试
在这里插入图片描述


总结

以上就是今天要讲的内容,本文介绍了jenkins部署使用Jenkinsfile文件部署前端vue项目,Jenkinsfile文件的作用就是把脚本命令放在文件中统一管理。

http://www.xdnf.cn/news/15267.html

相关文章:

  • 【星闪】Hi2821 | SDK开发入门,应用启动流程,创建自己的应用
  • 大模型聊天模板
  • 在人工智能自动化编程时代:AI驱动开发和传统软件开发的分析对比
  • AI 助力:如何批量提取 Word 表格字段并导出至 Excel
  • Infoblox NetMRI 远程命令执行漏洞复现(CVE-2025-32813)
  • C++值类别与移动语义
  • GraphRAG Docker化部署,接入本地Ollama完整技术指南:从零基础到生产部署的系统性知识体系
  • 动物世界一语乾坤韵芳华 人工智能应用大学毕业论文 -仙界AI——仙盟创梦IDE
  • 板凳-------Mysql cookbook学习 (十一--------9)
  • Typecho分类导航栏开发指南:从基础到高级实现
  • axios拦截器
  • Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频摘要快速生成与检索优化(345)
  • Oracle SQL - 使用行转列PIVOT减少表重复扫描(实例)
  • 前端-CSS-day3
  • 【FreeRTOS】事件组
  • 决策树学习
  • OneCode3.0 VFS分布式文件管理API速查手册
  • 网络安全的基本练习
  • Autosar CanSM配置-Busoff参数-基于ETAS软件
  • 齿轮主要的几项精度指标及检测项目学习
  • houdini vat 学习笔记
  • 日志不再孤立!用 Jaeger + TraceId 实现链路级定位
  • 力扣刷题(第八十五天)
  • 【CMake】CMake构建项目入门
  • 【华为OD】MVP争夺战(C++、Java、Python)
  • 多表查询-4-外连接
  • 使用包管理工具CocoaPods、SPM、Carthage的利弊与趋势
  • 【机器学习入门巨详细】(研0版)二创OPEN MLSYS
  • CTFHub————Web{信息泄露[Git泄露(Stash、Index)]}
  • Linux进程管理的核心:task_struct中的双链表与网状数据结构