You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询Azure DevOps Pipeline替代GitHub Actions MariaDB配置方案

Azure DevOps 替代 GitHub Actions ankane/setup-mariadb@v1 的方案

Azure DevOps 没有直接对应 ankane/setup-mariadb@v1 的官方任务,但可以通过脚本任务实现完全一致的功能,以下是匹配你需求的流水线配置:

variables:
  # 若使用多版本矩阵,可将版本定义在jobs的strategy.matrix中
  mariadbVersion: '10.6' # 替换为你的目标MariaDB版本
  databaseName: 'DatabaseName'
  dbUsername: 'Username'
  dbPassword: 'Password'

jobs:
- job: MariaDB_Setup
  pool:
    vmImage: 'ubuntu-latest' # 使用Ubuntu托管代理,若用Windows需调整安装命令
  steps:
  - script: |
      # 添加MariaDB官方源以安装指定版本
      curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=$(mariadbVersion)
      sudo apt-get update
      sudo apt-get install -y mariadb-server
      # 启动MariaDB服务
      sudo systemctl start mariadb
      # 创建指定数据库(对应原GitHub Action的database参数)
      sudo mysql -e "CREATE DATABASE IF NOT EXISTS $(databaseName);"
    displayName: '安装并初始化指定版本MariaDB'

  - script: |
      sudo mysql -D $(databaseName) -e "CREATE USER '$(dbUsername)'@localhost IDENTIFIED BY '$(dbPassword)';"
      sudo mysql -D $(databaseName) -e "GRANT ALL PRIVILEGES ON $(databaseName).* TO '$(dbUsername)'@localhost;"
      sudo mysql -D $(databaseName) -e "FLUSH PRIVILEGES;"
    displayName: '创建MariaDB用户并授权'

  - script: |
      sudo mysql -D $(databaseName) < ./test/database.sql
    displayName: '导入SQL文件到数据库'

关键说明:

  • 版本控制:通过MariaDB官方源安装指定版本,确保和原GitHub Action的版本一致性;
  • 服务启动:Ubuntu托管代理安装后需手动启动MariaDB服务,这是原Action自动处理的环节;
  • 矩阵适配:如果需要多版本测试,可将mariadbVersion移至strategy.matrix中,示例:
    strategy:
      matrix:
        mariadb105:
          mariadbVersion: '10.5'
        mariadb106:
          mariadbVersion: '10.6'
    
  • Windows代理适配:若使用Windows虚拟机,需改用Chocolatey安装(choco install mariadb --version=$(mariadbVersion)),并调整命令路径和服务启动方式。

内容的提问来源于stack exchange,提问作者Patrick Langkau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 15:40:37