如何在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
我发现了 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