jenkins自动化部署前端vue+docker项目

文章目录


一、准备工作

默认你的服务器centos已经搭建完成,同时已经安装了jenkins和docker。

接下来去下载开源项目ruoyi并上传到自己的gitee中。

二、编写dockerfile文件

打开项目工程,在rouyi-vue-ui下新建docker文件夹,并新建Dockerfile文件、.dockerignore忽略文件、nginx.conf配置文件

Dockerfile文件内容如下:

bash 复制代码
# 拉取nginx基础镜像
FROM nginx:1.21.1

# 维护者信息
MAINTAINER zhy

# 将dist文件中的内容复制到 `/usr/share/nginx/html/` 这个目录下面
COPY dist/  /usr/share/nginx/html/
# 用本地配置文件来替换nginx镜像里的默认配置
COPY nginx/nginx.conf /etc/nginx/nginx.conf

# 对外暴漏的端口号
# [注:EXPOSE指令只是声明容器运行时提供的服务端口,给读者看有哪些端口,在运行时只会开启程序自身的端口!!]
EXPOSE 80

# 启动nginx容器
CMD ["nginx", "-g", "daemon off;"]

.dockerignore内容如下

bash 复制代码
node_modules

nginx.conf内容如下

bash 复制代码
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;
        # 服务器ip
        server_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;
        }
    }
}

提交代码到gitee仓库

三、新建jenkins任务

打开jenkins,新建任务

填写描述

源码管理选择git,粘贴gitee项目地址

选择凭证,没有的话点击添加即可

构建步骤选择执行shell

添加以下内容

bash 复制代码
# 先进入到前端工程中
cd ry-vue-demo-ui
# 安装依赖
echo "<-------------------------------------->"
echo "安装依赖"
npm install
echo "<-------------------------------------->"
echo "打包项目"
npm run build:prod
echo "拷贝文件到docker目录下"
cp -r dist/ docker/
cd docker
echo "构建镜像"
docker build -f Dockerfile -t ruoyi-vue . --no-cache
# 删除执行的容器
docker ps -a | grep ruoyi-vue | awk '{print $1}' | xargs -i docker stop {} | xargs -i docker rm {}
echo "运行容器"
docker run -d -p 81:80 --restart=always --name ruoyi-vue ruoyi-vue

保存,立即构建

查看控制台日志输出

结果报错了,说nginx.conf文件不存在

路径写的有问题,这里已经进入到docker目录下了,直接拷贝nginx.conf

修改Dockerfile,提交代码,接着构建项目,这次就构建成功了

打开浏览器访问试试,部署成功

相关推荐
程序员爱钓鱼2 小时前
Node.js 编程实战:文件读写操作
前端·后端·node.js
PineappleCoder2 小时前
工程化必备!SVG 雪碧图的最佳实践:ID 引用 + 缓存友好,无需手动算坐标
前端·性能优化
JIngJaneIL3 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
敲敲了个代码3 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
澄江静如练_3 小时前
列表渲染(v-for)
前端·javascript·vue.js
JustHappy3 小时前
「chrome extensions🛠️」我写了一个超级简单的浏览器插件Vue开发模板
前端·javascript·github
Loo国昌4 小时前
Vue 3 前端工程化:架构、核心原理与生产实践
前端·vue.js·架构
sg_knight4 小时前
拥抱未来:ECMAScript Modules (ESM) 深度解析
开发语言·前端·javascript·vue·ecmascript·web·esm
LYFlied4 小时前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展