咨询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
相关产品推荐
相关产品推荐

