首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gitlab CI服务没有读取“变量”配置

Gitlab CI服务没有读取“变量”配置
EN

Stack Overflow用户
提问于 2022-08-14 01:20:59
回答 2查看 56关注 0票数 0

我试图在我的CI工作中使用mysql服务,但我一直收到拒绝连接的错误。

我的.gitlab-ci.yml配置:

代码语言:javascript
复制
variables:
  MYSQL_DATABASE: mysql_test
  MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'

mysql-test:
  stage: test
  needs: []
  image: mysql:8.0.28
  variables:
    MYSQL_DATABASE: mysql_test
    MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
  services:
    - name: mysql:8.0.28
      alias: mysql
      variables:
        MYSQL_DATABASE: mysql_test
        MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
  script:
    - echo SELECT 'OK' | mysql mysql_test --host='mysql' --user=root --password=''

尽管在三个不同的地方设置了MYSQL_ALLOW_EMPTY_PASSWORD,但是服务容器日志给了我:

代码语言:javascript
复制
2022-08-14 00:11:04+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.28-1debian10 started.
2022-08-14 00:11:04+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2022-08-14 00:11:04+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.28-1debian10 started.
2022-08-14 00:11:04+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified
    You need to specify one of the following:
    - MYSQL_ROOT_PASSWORD
    - MYSQL_ALLOW_EMPTY_PASSWORD
    - MYSQL_RANDOM_ROOT_PASSWORD

GitLab及其运行程序正在安装舵机(图gitlab-5.7.0,app 14.7.0版)

EN

回答 2

Stack Overflow用户

发布于 2022-08-14 14:23:38

我试着运行你的脚本--它起作用了。您可以在mysql-测试#2879743403作业我的示例..gitlab ci.yml源代码中查看

您应该在脚本中回显变量,以验证变量设置是否正确。

代码语言:javascript
复制
mysql-test:
  tags:
    - docker
  stage: test
  needs: []
  image: mysql:8.0.28
  variables:
    MYSQL_DATABASE: mysql_test
    MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
  services:
    - name: mysql:8.0.28
      alias: mysql
  script:
    - echo $MYSQL_DATABASE
    - echo $MYSQL_ALLOW_EMPTY_PASSWORD
    - |
      mysql mysql_test --host='mysql' --user=root --password='' <<SQL
      SELECT version();
      exit
      SQL
票数 1
EN

Stack Overflow用户

发布于 2022-08-15 09:42:45

变量没有为服务设置属性,因为services:variables:仅在GitLab运行程序14.8和以后支持,在作业中设置变量,但服务似乎不起作用。

其次,加载MySQL服务需要一分钟时间。将足够长的sleep添加到脚本中,以及正确设置的变量使它能够愉快地连接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73348586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档