如何在Gitlab中执行sql文件-ci

How to execute sql file in Gitlab-ci

我发现了 gitlab-ci,我想创建一个在每次提交后执行 sql 脚本的管道。 为此,我使用了 dockerhub sqlplus image sflyr/sqlplus.

我的.gitlab-ci.yml :

    stages:
  - build



code_quality:
  stage: build
  image: registry.pic.services.prod/valentine/ci/docker-dind:0.0.3
  services:
    - name: registry.pic.services.prod/valentine/ci/docker-dind:0.0.3
  allow_failure: true
  script:
    - setup_docker
    - docker pull sflyr/sqlplus  
    - docker run -e URL=*/*@//*/* -i sflyr/sqlplus < file.sql

.function: &function |
  function setup_docker() {
    if ! docker info &>/dev/null; then
      if [ -z "$DOCKER_HOST" -a "$KUBERNETES_PORT" ]; then
        export DOCKER_HOST='tcp://localhost:2375'
      fi
    fi
  }


before_script:
  - *function

我有错误:

SQL*Plus: Release 11.2.0.3.0 Production on Mon Dec 30 15:58:59 2019

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

ERROR:
ORA-12170: TNS:Connect timeout occurred


Enter user-name: SP2-0306: Invalid option.

我在 docker 中做了 docker,答案比那更简单:

    stages:
  - build

code_quality:
  stage: build
  tags:
    - [Runner]
  image: 
    name: sflyr/sqlplus
    entrypoint: ["/bin/sh"]
  allow_failure: true
  script:
    - /instantclient_11_2/sqlplus */*@*/* @file.sql