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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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的大学生体质测试管理系统设计与实现(源码+数据库+文档)
8 0
|
5天前
|
敏捷开发 运维 监控
深入探索软件测试中的持续集成与持续部署(CI/CD)实践
【5月更文挑战第17天】 在现代软件开发过程中,"持续集成"(Continuous Integration, CI)和"持续部署"(Continuous Deployment, CD)已经成为提高开发效率、确保代码质量和加速产品上市速度的关键策略。本文将深入探讨CI/CD在软件测试中的应用,包括它们的定义、目的、实施策略以及面临的挑战。通过对自动化测试、版本控制、构建流程和反馈循环的详细分析,我们将揭示如何利用CI/CD实践来优化测试流程,减少错误,并确保高质量的软件交付。
|
7天前
|
敏捷开发 监控 Devops
深入探索软件测试中的持续集成与持续部署(CI/CD)实践
【5月更文挑战第13天】 在现代软件开发的快节奏和复杂性中,持续集成(Continuous Integration,CI)与持续部署(Continuous Deployment,CD)成为确保软件质量和加速交付的关键策略。本文将深入探讨CI/CD在软件测试中的应用,解析其核心概念、流程以及面临的挑战,并分享实际案例分析以揭示如何在不断变化的开发环境中维持高效和可靠的软件发布周期。
|
7天前
|
机器学习/深度学习 敏捷开发 监控
深入探索软件测试中的持续集成与持续部署(CI/CD)实践
【5月更文挑战第10天】 在现代软件开发周期中,"持续集成"(CI)与"持续部署"(CD)是提升效率、确保质量的重要环节。本文将详细探讨CI/CD在软件测试中的应用,包括其基本概念、实施策略、工具应用及面临的挑战。不同于一般性概述,本文将重点分析如何优化测试流程以适应CI/CD环境,并提出针对性的改进措施。通过实际案例分析,揭示成功实施CI/CD的最佳实践,并讨论如何在不断变化的技术环境中保持测试策略的前瞻性和灵活性。
|
7天前
|
存储 大数据 测试技术
矢量数据库的性能测试与评估方法
【4月更文挑战第30天】本文探讨了矢量数据库的性能测试与评估方法,强调其在大数据和AI时代的重要性。文中介绍了负载测试、压力测试、容量测试、功能测试和稳定性测试五大评估方法,以及实施步骤,包括确定测试目标、设计用例、准备环境、执行测试和分析结果。这些方法有助于确保数据库的稳定性和高效性,推动技术发展。
|
7天前
|
运维 监控 测试技术
【专栏】自动化测试、持续集成(CI)和持续交付(CD)如何提升软件开发效率
【4月更文挑战第27天】本文探讨了自动化测试、持续集成(CI)和持续交付(CD)如何提升软件开发效率。自动化测试通过特定工具和框架确保软件质量,缩短开发周期,包括单元测试、集成测试等类型,并使用Selenium等框架。持续集成在合并代码前进行自动化测试,保证代码质量,促进团队协作,使用Jenkins等工具。持续交付则实现快速迭代,自动化部署过程,降低部署风险,提高软件质量和运维效率。这三者结合助力企业在竞争中胜出。
|
7天前
|
测试技术 数据库连接 数据库
测试环境的数据库连不了,打包报错怎么办
测试环境的数据库连不了,打包报错怎么办
16 0
|
7天前
|
敏捷开发 安全 数据管理
深入理解软件测试中的持续集成与持续部署(CI/CD)
【2月更文挑战第30天】 在快速发展的软件开发领域,持续集成(Continuous Integration, CI)与持续部署(Continuous Deployment, CD)已成为提升开发效率、保障代码质量和实现快速交付的重要实践。本文将探讨CI/CD在软件测试中的应用,揭示其对自动化测试策略的影响,并分析如何通过有效的CI/CD流程降低错误率、缩短反馈周期。我们将从理论概念出发,结合具体案例,深入解析CI/CD的最佳实践和面临的挑战。
|
7天前
|
敏捷开发 监控 Devops
深入理解软件测试中的持续集成与持续部署(CI/CD)
【2月更文挑战第30天】 在快速发展的软件开发周期中,持续集成(Continuous Integration, CI)与持续部署(Continuous Deployment, CD)已成为确保产品质量和加快交付速度的重要实践。本文旨在探讨CI/CD在软件测试领域中的应用与挑战,解析其对测试流程、自动化及团队协作的影响,并分享最佳实践案例。通过深入了解CI/CD,测试人员可以更好地适应敏捷开发模式,提高测试效率,降低发布风险。
74 1
|
7天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。