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

网站建设售前中山免费网站建设

网站建设售前,中山免费网站建设,快速搭建网站系统,宜兴网站建设公司网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…

在这里插入图片描述

网罗开发 (小红书、快手、视频号同名)

  大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。

图书作者:《ESP32-C3 物联网工程开发实战》
图书作者:《SwiftUI 入门,进阶与实战》
超级个体:COC上海社区主理人
特约讲师:大学讲师,谷歌亚马逊分享嘉宾
科技博主:极星会首批签约作者

文章目录

    • 摘要
    • 引言
    • CI/CD 简介
    • 配置 GitHub Actions 实现 CI/CD
      • 创建 GitHub Actions 工作流
      • 配置 Vercel 部署
    • 配置 GitLab CI 实现 CI/CD
      • 创建 GitLab CI 配置文件
      • 配置 Vercel 部署
    • 代码示例:前端项目配置
      • package.json 配置
      • ESLint 配置文件(.eslintrc.js)
        • 4.3 Jest 配置文件(`jest.config.js`)
    • QA 环节
    • 总结
    • 参考资料

摘要

本文将详细介绍如何为前端项目配置 CI/CD 流程,结合 GitHub Actions 或 GitLab CI 实现代码质量检查、单元测试、打包优化和自动化部署。通过实际代码示例,帮助开发者快速掌握前端 CI/CD 的最佳实践,提升开发效率和代码质量。

引言

在现代前端开发中,持续集成和持续部署(CI/CD)已成为不可或缺的环节。通过自动化流程,开发者可以快速发现代码问题、优化构建性能,并高效部署到生产环境。本文将基于 GitHub Actions 和 GitLab CI,提供一套完整的前端 CI/CD 解决方案,涵盖代码质量检查、单元测试、打包优化和部署到 Vercel 或 Netlify。

CI/CD 简介

CI/CD 是持续集成(Continuous Integration)和持续部署(Continuous Deployment)的缩写,旨在通过自动化流程提高开发效率和代码质量。对于前端项目,CI/CD 可以:

  • 自动运行代码质量检查(如 ESLint、Prettier)。
  • 执行单元测试和集成测试。
  • 优化构建流程(如使用 Vite 或 Webpack)。
  • 自动部署到云平台(如 Vercel、Netlify)。

配置 GitHub Actions 实现 CI/CD

GitHub Actions 是 GitHub 提供的 CI/CD 工具,支持通过 YAML 文件定义工作流。

创建 GitHub Actions 工作流

在项目根目录下创建 .github/workflows/ci-cd.yml 文件,定义 CI/CD 流程。

name: CI/CD Pipelineon:push:branches:- mainpull_request:branches:- mainjobs:lint-and-test:runs-on: ubuntu-lateststeps:- name: Checkout codeuses: actions/checkout@v3- name: Set up Node.jsuses: actions/setup-node@v3with:node-version: 18- name: Install dependenciesrun: npm install- name: Run ESLintrun: npm run lint- name: Run Prettierrun: npm run format- name: Run unit testsrun: npm testbuild-and-deploy:runs-on: ubuntu-latestneeds: lint-and-teststeps:- name: Checkout codeuses: actions/checkout@v3- name: Set up Node.jsuses: actions/setup-node@v3with:node-version: 18- name: Install dependenciesrun: npm install- name: Build projectrun: npm run build- name: Deploy to Verceluses: amondnet/vercel-action@v25with:vercel-token: ${{ secrets.VERCEL_TOKEN }}vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}

配置 Vercel 部署

  1. 在 Vercel 官网创建项目并获取 VERCEL_TOKENVERCEL_ORG_IDVERCEL_PROJECT_ID
  2. 将这些值添加到 GitHub 仓库的 Secrets 中。

配置 GitLab CI 实现 CI/CD

GitLab CI 是 GitLab 提供的 CI/CD 工具,通过 .gitlab-ci.yml 文件定义流程。

创建 GitLab CI 配置文件

在项目根目录下创建 .gitlab-ci.yml 文件。

stages:- lint- test- build- deploylint:stage: lintimage: node:18script:- npm install- npm run lint- npm run formattest:stage: testimage: node:18script:- npm install- npm testbuild:stage: buildimage: node:18script:- npm install- npm run buildartifacts:paths:- dist/deploy:stage: deployimage: node:18script:- npm install -g vercel- vercel --token $VERCEL_TOKEN --prodonly:- main

配置 Vercel 部署

  1. 在 Vercel 官网创建项目并获取 VERCEL_TOKEN
  2. VERCEL_TOKEN 添加到 GitLab 仓库的 CI/CD 变量中。

代码示例:前端项目配置

以下是一个简单的前端项目配置示例,包含 ESLint、Prettier、Jest 和 Vite。

package.json 配置

{"name": "frontend-ci-cd-demo","version": "1.0.0","scripts": {"dev": "vite","build": "vite build","lint": "eslint src --ext .js,.jsx,.ts,.tsx","format": "prettier --write src","test": "jest"},"dependencies": {"react": "^18.2.0","react-dom": "^18.2.0"},"devDependencies": {"vite": "^4.0.0","eslint": "^8.0.0","prettier": "^2.0.0","jest": "^29.0.0","@types/react": "^18.0.0","@types/react-dom": "^18.0.0"}
}

ESLint 配置文件(.eslintrc.js)

module.exports = {env: {browser: true,es2021: true,},extends: ["eslint:recommended", "plugin:react/recommended"],parserOptions: {ecmaVersion: "latest",sourceType: "module",},rules: {},
};
4.3 Jest 配置文件(jest.config.js
module.exports = {testEnvironment: "jsdom",setupFilesAfterEnv: ["<rootDir>/jest.setup.js"],
};

QA 环节

Q: 如何优化构建性能?
A: 可以使用 Vite 或 Webpack 的代码分割、Tree Shaking 和缓存优化功能。

Q: 如何确保单元测试覆盖率?
A: 在 Jest 配置中添加 coverage 选项,并在 CI 流程中设置覆盖率阈值。

Q: 如何部署到 Netlify?
A: 使用 Netlify 提供的 GitHub Actions 或 GitLab CI 插件,配置 NETLIFY_AUTH_TOKENNETLIFY_SITE_ID

总结

通过 GitHub Actions 或 GitLab CI,前端开发者可以轻松实现代码质量检查、单元测试、打包优化和自动化部署。本文提供的代码示例和配置方案,帮助开发者快速搭建 CI/CD 流程,提升开发效率和代码质量。

未来,前端 CI/CD 可以进一步结合以下技术:

  • 容器化部署:使用 Docker 和 Kubernetes 实现更灵活的部署。
  • 性能监控:集成 Lighthouse 或 Sentry,实时监控应用性能。
  • AI 辅助优化:利用 AI 工具自动优化构建配置和测试用例。

参考资料

  • GitHub Actions 官方文档:https://docs.github.com/en/actions
  • GitLab CI 官方文档:https://docs.gitlab.com/ee/ci/
  • Vite 官方文档:https://vitejs.dev/
  • Jest 官方文档:https://jestjs.io/
  • Vercel 官方文档:https://vercel.com/docs
http://www.dtcms.com/a/440038.html

相关文章:

  • 网站首页页脚企业如何进行搜索引擎优化
  • 烟台做网站多少钱宣传片制作公司的知名品牌
  • openEuler系统操作记录
  • 广州建立网站的公司网站廊坊网络
  • 九易建网站的建站模板网站建设推进计划
  • 网站建设项目环境影响评价目录中文电商网站模板
  • 做动画相册在哪个网站好网站电脑端和手机端
  • 工会 网站 建设wordpress 文章 总数
  • php 网站建设方案网站建设中标签导航的特征
  • 有什么做数学题的网站dedecms网站安装
  • 聊城那里有做网站网站推广的主要方法有哪些
  • 上海网站建设找摩彼做网站建网站公司
  • 国内免费iphone网站可否用nas做网站
  • 攻防世界-Check
  • AI在数据科学中的未来研究方向有哪些?
  • 网站建设一般要多少费用百度一下首页下载安装桌面
  • 在网上做效果图赚钱的网站网站规划
  • Prometheus 04-1: PromQL查询语言深入实践
  • 芜湖做网站的公司排名30个适合大学生创业的项目
  • 精美网站汽配公司的网站要怎么做
  • 让客户留住更长时间访问你的网站网站和域名的区别
  • 网站制作在哪里比较好杭州门户网站开发
  • 单页网站 营销成都装修建材网站建设
  • 韶山市建设局网站环保网站建设开发
  • 河南省汝州市建设门户网站注册公司要花多少费用
  • 唐山网站制作工具新宁县建设局网站
  • 上海网站关键词优化如何做一个购物网站页面
  • 建设一个微信小说网站启动培训网站建设的请示
  • 酒店手机网站模板专业app网站建设
  • 企业管理的官方网站有哪些成都旅游景点攻略