vue+jenkins+nginx+node+koa搭建一整套案例和原理

搭建一个使用 Vue、Jenkins、Nginx、Node.js(Koa框架)的全栈应用涉及到前端界面、持续集成/持续部署(CI/CD)、后端服务以及Web服务器的配置。下面是一个基础的项目搭建案例,以及一些关键概念的原理解释。

项目结构示例

my-app/
│
├── backend/               # 后端 Koa 应用
│   ├── node_modules/       # Node.js 依赖
│   ├── models/             # 数据模型层
│   ├── controllers/        # 控制器层
│   ├── routes/             # 路由层
│   ├── app.js              # Koa 应用入口
│   └── package.json        # package.json 文件
│
├── frontend/               # 前端 Vue 应用
│   ├── node_modules/        # Node.js 依赖
│   ├── public/               # 公共资源
│   ├── src/                  # 源代码
│   ├── .env                  # 环境变量配置
│   ├── vue.config.js         # Vue 配置文件
│   └── package.json          # package.json 文件
│
└── jenkins/                # Jenkins 配置和脚本
    ├── jobs/
    │   └── my-app-job/
    │       ├── config.xml
    └── scripts/
        └── deploy.sh

后端 (Koa + Node.js)

初始化项目设置 Koa 服务器 的步骤与之前的案例类似,这里不再赘述。

前端 (Vue)

初始化项目 和 创建 Vue 组件 的步骤也与之前的案例类似。

持续集成/持续部署 (Jenkins)

安装 Jenkins
  1. 在服务器上安装 Jenkins。
  2. 访问 Jenkins 管理界面,通常是 http://<server-ip>:8080
配置 Jenkins
  1. 安装必要的插件,如 Git 插件、Node.js 插件等。
  2. 创建一个新的 Job,配置源代码管理,指向你的 Git 仓库。
  3. 添加构建触发器,如 SCM 轮询或定时构建。
  4. 配置构建环境,如 Node.js 版本等。
  5. 添加构建后执行的脚本,如 npm installnpm run build 等。
  6. 配置 Post-build 动作,如发送通知、存档构建产物等。
Jenkinsfile 示例
pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                checkout scm
            }
        }
        stage('Build') {
            steps {
                script {
                    npm install
                    npm run build
                }
            }
        }
        stage('Deploy') {
            steps {
                script {
                    // 调用部署脚本
                    // 例如调用 Nginx 配置的 Webhook 触发部署
                }
            }
        }
    }
    post {
        success {
            echo 'Build and deploy successful!'
        }
    }
}

Web服务器 (Nginx)

安装 Nginx

在服务器上安装 Nginx。

配置 Nginx
  1. 创建一个新的 Nginx 配置文件,如 /etc/nginx/sites-available/my-app
  2. 配置 server block,设置静态文件服务和反向代理。
server {
    listen 80;
    server_name my-app.example.com;

    location / {
        root /var/www/my-app/dist;
        try_files $uri /index.html;
    }

    location /api {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
  1. 启用站点配置:ln -s /etc/nginx/sites-available/my-app /etc/nginx/sites-enabled/

  2. 重启 Nginx 服务以应用更改。

原理

  1. Vue:用于构建前端用户界面的框架。

  2. Jenkins:一个开源的自动化服务器,可以处理持续集成和持续部署。

  3. Nginx:一个高性能的 HTTP 服务器和反向代理,用于服务静态文件和作为负载均衡器。

  4. Node.js (Koa):Node.js 是一个 JavaScript 运行环境,Koa 是一个基于 Node.js 平台的 Web 框架,用于构建后端服务。

  5. 持续集成/持续部署 (CI/CD):自动化的流程,用于代码的构建、测试和部署。

通过上述步骤和原理,你可以搭建一个完整的 Node.js + Vue + Jenkins + Nginx 的应用,前端界面通过 Vue 构建,后端服务通过 Koa 提供,持续集成和部署通过 Jenkins 自动化,最终通过 Nginx 作为 Web 服务器来服务静态文件和代理 API 请求。这种结构有助于实现高效的开发流程和应用部署。

我的博客只写前端博文,点击我去看更多喜欢的前端博文,欢迎大家一起讨论学习!【https://blog.csdn.net/qq_29101285?spm=1011.2266.3001.5343】
  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值