stream-query多数据库进行CI测试

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: stream-query多数据库进行CI测试


把时间花费在阅读他人的著述吧,你可借他人辛苦的东西,轻易改善自己。——苏格拉底

最近针对stream-query,使用github action | 阿超

主要是针对h2mysqlpostgresql各跑一遍对应的脚本和单元测试

配置脚本为:

name: E2E Tests
on:
  push:
    branches:
      - e2e
  pull_request:
    branches:
      - e2e
jobs:
  test:
    runs-on: ubuntu-latest
    services:
      mysql:
        image: mysql:8.0
        env:
          MYSQL_ROOT_PASSWORD: stream-query
          MYSQL_DATABASE: stream-query
        ports:
          - 3306:3306
        options: >-
          --health-cmd="mysqladmin ping -u stream-query --password=stream-query --silent"
          --health-interval=10s
          --health-timeout=5s
          --health-retries=5
      postgres:
        image: postgres
        env:
          POSTGRES_DB: stream-query
          POSTGRES_USER: stream-query
          POSTGRES_PASSWORD: stream-query
        ports:
          - 5432:5432
        options: >-
          --health-cmd="pg_isready -U stream-query"
          --health-interval=10s
          --health-timeout=5s
          --health-retries=5
    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 8
        uses: actions/setup-java@v2
        with:
          java-version: '8'
          distribution: 'temurin'
      - name: Cache Maven packages
        uses: actions/cache@v2
        with:
          path: ~/.m2
          key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-m2-
      - name: Build with Maven
        run: mvn -B -X package --file pom.xml
      - name: Run H2 Tests (Default)
        run: mvn -B -X test
      - name: Execute MySQL schema and data scripts
        run: |
          mysql -h 127.0.0.1 -P 3306 -u root --password=stream-query stream-query < ./stream-plugin/stream-plugin-mybatis-plus/src/test/resources/sql/mysql/schema.sql
          mysql -h 127.0.0.1 -P 3306 -u root --password=stream-query stream-query < ./stream-plugin/stream-plugin-mybatis-plus/src/test/resources/sql/mysql/data.sql
if: success()
      - name: Run MySQL Tests
        run: mvn -B -X test -Dspring.profiles.active=mysql
      - name: Execute PostgreSQL schema and data scripts
        run: |
          PGPASSWORD=stream-query psql -h localhost -U stream-query -d stream-query -p 5432 -a -f ./stream-plugin/stream-plugin-mybatis-plus/src/test/resources/sql/pgsql/schema.sql
          PGPASSWORD=stream-query psql -h localhost -U stream-query -d stream-query -p 5432 -a -f ./stream-plugin/stream-plugin-mybatis-plus/src/test/resources/sql/pgsql/data.sql
if: success()
      - name: Run PostgreSQL Tests
        run: mvn -B -X test -Dspring.profiles.active=pgsql

脚本源码:

https://github.com/dromara/stream-query/blob/main/.github/workflows/maven-publish.yml

除了ci脚本,还需要配置代码,这里是分别的dslddl以及配置文件


执行效果:

[ci] fix pgsql dsl and ddl · dromara/stream-query@6ae46c5 · GitHub

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
JavaScript Java 测试技术
大学生体质测试|基于Springboot+vue的大学生体质测试管理系统设计与实现(源码+数据库+文档)
大学生体质测试|基于Springboot+vue的大学生体质测试管理系统设计与实现(源码+数据库+文档)
35 0
|
1月前
|
机器学习/深度学习 敏捷开发 测试技术
深入探索软件测试中的持续集成与持续部署(CI/CD)实践利用机器学习提升网络安全防御效能
【5月更文挑战第27天】 在现代软件开发的快节奏环境中,持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)已成为确保产品质量和加快交付速度的关键策略。本文将深入探讨CI/CD在软件测试中的应用,分析其对提高自动化测试效率、缩短反馈周期以及优化发布流程的重要性。通过实际案例研究,我们揭示了成功实施CI/CD的最佳实践,并讨论了面临的挑战及其解决方案。
|
1月前
|
敏捷开发 监控 Devops
深入探索软件测试中的持续集成与持续部署(CI/CD)实践
【5月更文挑战第13天】 在现代软件开发的快节奏和复杂性中,持续集成(Continuous Integration,CI)与持续部署(Continuous Deployment,CD)成为确保软件质量和加速交付的关键策略。本文将深入探讨CI/CD在软件测试中的应用,解析其核心概念、流程以及面临的挑战,并分享实际案例分析以揭示如何在不断变化的开发环境中维持高效和可靠的软件发布周期。
|
28天前
|
Dart 前端开发 测试技术
移动应用开发的未来:跨平台框架与原生系统的融合深入理解软件测试中的持续集成与持续部署(CI/CD)
【5月更文挑战第30天】 在本文中,我们将深入探讨移动应用开发领域的最新趋势:跨平台开发框架与原生操作系统的融合。随着移动设备成为日常生活的核心,高效、灵活且性能卓越的应用程序需求日益增长。文章分析了当前主流的跨平台工具如React Native和Flutter,并探讨了它们如何与iOS和Android等原生系统相互作用,以及这种融合对开发者、用户和整个移动生态系统意味着什么。我们还将预测未来可能的技术发展,并提出相应的策略建议。
|
1月前
|
敏捷开发 Devops 测试技术
深入理解软件测试中的持续集成与持续部署(CI/CD)
【5月更文挑战第27天】 在快速发展的软件开发行业中,"持续集成"(Continuous Integration, CI)和"持续部署"(Continuous Deployment, CD)已成为提高开发效率、保障代码质量和加速产品上市的核心实践。本文将探讨CI/CD的概念、实施策略以及它们如何改变传统的软件测试流程,旨在为读者提供一个清晰的框架,帮助他们理解并有效应用这两种方法于实际工作中。
|
1月前
|
运维 监控 测试技术
【专栏】自动化测试、持续集成(CI)和持续交付(CD)如何提升软件开发效率
【4月更文挑战第27天】本文探讨了自动化测试、持续集成(CI)和持续交付(CD)如何提升软件开发效率。自动化测试通过特定工具和框架确保软件质量,缩短开发周期,包括单元测试、集成测试等类型,并使用Selenium等框架。持续集成在合并代码前进行自动化测试,保证代码质量,促进团队协作,使用Jenkins等工具。持续交付则实现快速迭代,自动化部署过程,降低部署风险,提高软件质量和运维效率。这三者结合助力企业在竞争中胜出。
|
1月前
|
敏捷开发 运维 监控
深入探索软件测试中的持续集成与持续部署(CI/CD)实践
【5月更文挑战第17天】 在现代软件开发过程中,"持续集成"(Continuous Integration, CI)和"持续部署"(Continuous Deployment, CD)已经成为提高开发效率、确保代码质量和加速产品上市速度的关键策略。本文将深入探讨CI/CD在软件测试中的应用,包括它们的定义、目的、实施策略以及面临的挑战。通过对自动化测试、版本控制、构建流程和反馈循环的详细分析,我们将揭示如何利用CI/CD实践来优化测试流程,减少错误,并确保高质量的软件交付。
|
1月前
|
机器学习/深度学习 敏捷开发 监控
深入探索软件测试中的持续集成与持续部署(CI/CD)实践
【5月更文挑战第10天】 在现代软件开发周期中,"持续集成"(CI)与"持续部署"(CD)是提升效率、确保质量的重要环节。本文将详细探讨CI/CD在软件测试中的应用,包括其基本概念、实施策略、工具应用及面临的挑战。不同于一般性概述,本文将重点分析如何优化测试流程以适应CI/CD环境,并提出针对性的改进措施。通过实际案例分析,揭示成功实施CI/CD的最佳实践,并讨论如何在不断变化的技术环境中保持测试策略的前瞻性和灵活性。
|
1月前
|
存储 大数据 测试技术
矢量数据库的性能测试与评估方法
【4月更文挑战第30天】本文探讨了矢量数据库的性能测试与评估方法,强调其在大数据和AI时代的重要性。文中介绍了负载测试、压力测试、容量测试、功能测试和稳定性测试五大评估方法,以及实施步骤,包括确定测试目标、设计用例、准备环境、执行测试和分析结果。这些方法有助于确保数据库的稳定性和高效性,推动技术发展。
|
3天前
|
SQL 关系型数据库 MySQL
关系型数据库mysql的CSV
【6月更文挑战第18天】
19 6

热门文章

最新文章