为同镜像多GitLab CI服务配置独立环境变量
问题:GitLab CI中无法为两个MySQL服务实例配置不同环境变量
问题背景
我正尝试在GitLab CI中使用同一镜像(mysql:8.0.32)的两个服务实例,但无法为每个实例配置不同的环境变量。
初始配置
最初采用全局变量配置,两个服务共享同一套变量:
services: - name: mysql:8.0.32 alias: maindb - name: mysql:8.0.32 alias: otherdb variables: # Configure mysql environment variables MYSQL_DATABASE: $DB_DATABASE MYSQL_ROOT_HOST: "%" MYSQL_ROOT_PASSWORD: $DB_PASSWORD MYSQL_USER: $DB_USERNAME MYSQL_PASSWORD: $DB_PASSWORD MYSQL_HOST: $DB_HOST MYSQL_PORT: $DB_PORT
修改后的配置
根据文档提示,尝试为每个服务单独指定专属变量:
services: - name: mysql:8.0.32 alias: maindb variables: # Configure mysql environment variables MYSQL_DATABASE: $DB_DATABASE MYSQL_ROOT_HOST: "%" MYSQL_ROOT_PASSWORD: $DB_PASSWORD MYSQL_USER: $DB_USERNAME MYSQL_PASSWORD: $DB_PASSWORD MYSQL_HOST: $DB_HOST MYSQL_PORT: $DB_PORT - name: mysql:8.0.32 alias: otherdb variables: # Configure mysql environment variables MYSQL_DATABASE: $DB2_DATABASE MYSQL_ROOT_HOST: "%" MYSQL_ROOT_PASSWORD: $DB2_PASSWORD MYSQL_USER: $DB2_USERNAME MYSQL_PASSWORD: $DB2_PASSWORD MYSQL_HOST: $DB2_HOST MYSQL_PORT: $DB2_PORT
文档提示
ℹ️ 在GitLab UI中设置的变量不会传递到服务容器中。
报错信息
服务启动失败,具体报错如下:
*** WARNING: Service runner-[...]-mysql-0 probably didn't start properly. Health check error: start service container: Error response from daemon: Cannot link to a non running container: /runner-[...]-mysql-0 AS /runner-[...]-mysql-0-wait-for-service/service (services.go:187:0s) Service container logs: 2023-11-09T10:03:01.238208088Z 2023-11-09 10:03:01+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.32-1.el8 started. 2023-11-09T10:03:01.390086193Z 2023-11-09 10:03:01+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' 2023-11-09T10:03:01.399340015Z 2023-11-09 10:03:01+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.32-1.el8 started. 2023-11-09T10:03:01.542018145Z 2023-11-09 10:03:01+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified 2023-11-09T10:03:01.542054237Z You need to specify one of the following as an environment variable: 2023-11-09T10:03:01.542058782Z - MYSQL_ROOT_PASSWORD 2023-11-09T10:03:01.542062323Z - MYSQL_ALLOW_EMPTY_PASSWORD 2023-11-09T10:03:01.542065140Z - MYSQL_RANDOM_ROOT_PASSWORD
用户疑问
文档说明不够清晰,我是否遗漏了关键配置?
内容的提问来源于stack exchange,提问作者shaedrich
相关产品推荐
相关产品推荐

