Jenkins自动构建部署vue项目 Nginx

5 篇文章 0 订阅
3 篇文章 0 订阅

Jenkins自动构建部署vue项目 Nginx

前言

把代码提交到github,然后通过Jenkins自动构建项目部署到docker中的Nginx

本项目是使用 vue-admin-template 进行二次开发

后端使用:springboot+mybatisplus+Redis+mysql

环境:

服务器1(阿里云学生机):以前安装了Jenkins

服务器2(阿里云按量付费):安装docker Nginx

流程:

项目提交到github ——> 构建打包 ——> 发送到有Nginx的服务器

说明:

默认阅读者有一定的dockerNginxJenkins基础

一、安装Docker

百度

二、安装Nginx

直接安装Nginx的话会报错,会找不到/etc/nginx/nginx.conf

第一步:docker run -d -p 3366:80 --name nginx-01 -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/logs:/var/log/nginx nginxnginx
第二步:docker exec -it nginx /bin/bash (进入容器 获取文件)
第三步:cd /etc/nginx/ (这里主要获取配置文件路径的)
第四步:exit
第五步:cd /docker/nginx/conf/
第六步:docker cp 4aa7fdf3db6d:/etc/nginx/nginx.conf .
ps:文件copy成功后 把nginx容器先删除掉
第七步:docker rm -f nginx
第八步:docker run -d -p 3366:80 --name nginx-01 -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx

三、配置Nginx

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen     80;
        server_name  localhost;

        location / {
			root /usr/share/nginx/html;
            index index.html index.htm;
			# try_files $uri $uri/ @router;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
			try_files $uri $uri/ /index.html =404;
			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';
			if ($request_method = 'OPTIONS') {
				return 204;
			}
	    }
		
		#对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
        #因此需要rewrite到index.html中,然后交给路由在处理请求资源
        location @router {
            rewrite ^.*$ /index.html last;
        }
		
        # 代理转发请求至网关,api标识解决跨域问题
	    location /api/ {
            proxy_pass  http://gkwa2t.natappfree.cc/;
	    }
    }
}

注意:proxy_pass http://gkwa2t.natappfree.cc/;这里一定要加/,不然SpringSecurity会登录失败。

Jenkins配置

参考博客:https://blog.csdn.net/jonsonler/article/details/81317352

cd /var/lib/jenkins/workspace/BMS-WEB/BOOK-MS-WEB # 进入项目目录
echo $PATH # 打印环境信息
node -v
npm -v
npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
npm install
npm run build:prod # 执行构建命令
cd dist
rm -rf vue.tar.gz
tar -zcvf vue.tar.gz * # 打包方便传输
cd ../
pwd

cd /root/nginx
rm -rf www
mkdir www
tar -zxvf vue.tar.gz -C www/
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值