【发布时间】:2021-11-12 11:31:52
【问题描述】:
我想用 gitlab 的 CI 迁移我的 Hasura 托管数据库模式和元数据,但那里似乎没有 .gitlab-ci.yml 的具体示例。
【问题讨论】:
我想用 gitlab 的 CI 迁移我的 Hasura 托管数据库模式和元数据,但那里似乎没有 .gitlab-ci.yml 的具体示例。
【问题讨论】:
这是我们为 .gitlab-ci.yml 文件提出的。
image: debian:stable-slim
stages:
- migrate
variables:
HASURA_VERSION: v2.0.9
before_script:
- apt-get update && apt-get install -y curl
- curl -L# -f -o "/usr/local/bin/hasura" "https://github.com/hasura/graphql-engine/releases/download/${HASURA_VERSION}/cli-hasura-linux-amd64"
- chmod +x "/usr/local/bin/hasura"
migrate-db-migration-dev:
stage: migrate
environment:
name: dev/hasura
script:
- echo $DEV_HASURA_DATABASE
- echo $DEV_HASURA_ENDPOINT
- export HASURA_GRAPHQL_ENDPOINT=$DEV_HASURA_ENDPOINT
- export HASURA_GRAPHQL_ADMIN_SECRET=$DEV_HASURA_ADMIN_SECRET
- echo ------------------- Checking status -------------------
- hasura migrate status --database-name $DEV_HASURA_DATABASE --disable-interactive
- echo ------------------- Done Checking status -------------------
- echo ------------------- Applying Migrations -------------------
- hasura migrate apply --up all --database-name $DEV_HASURA_DATABASE --disable-interactive
- echo ------------------- Done Applying Migrations -------------------
- echo ------------------- Preview Metadata -------------------
- hasura metadata diff
- echo ------------------- Done Preview Metadata -------------------
- echo ------------------- Applying Metadata -------------------
- ls -la
- hasura metadata apply --log-level debug
- echo ------------------- Done Applying Metadata -------------------
- echo ------------------- Applying metadata reload -------------------
- hasura metadata reload
- echo ------------------- Done Applying metadata reload -------------------
resource_group: dev-hasura
only:
refs:
- dev
changes:
- migrations/**/*
- metadata/**/*
- seeds/**/*
migrate-db-migration-stage:
stage: migrate
environment:
name: stage/hasura
script:
- echo $STAGE_HASURA_DATABASE
- echo $STAGE_HASURA_ENDPOINT
- export HASURA_GRAPHQL_ENDPOINT=$STAGE_HASURA_ENDPOINT
- export HASURA_GRAPHQL_ADMIN_SECRET=$STAGE_HASURA_ADMIN_SECRET
- echo ------------------- Checking status -------------------
- hasura migrate status --database-name $STAGE_HASURA_DATABASE --disable-interactive
- echo ------------------- Done Checking status -------------------
- echo ------------------- Applying Migrations -------------------
- hasura migrate apply --up all --database-name $STAGE_HASURA_DATABASE --disable-interactive
- echo ------------------- Done Applying Migrations -------------------
- echo ------------------- Preview Metadata -------------------g
- hasura metadata diff
- echo ------------------- Done Preview Metadata -------------------
- echo ------------------- Applying Metadata -------------------
- hasura metadata apply
- echo ------------------- Done Applying Metadata -------------------
- echo ------------------- Applying metadata reload -------------------
- hasura metadata reload
- echo ------------------- Done Applying metadata reload -------------------
resource_group: stage-hasura
only:
refs:
- stage
changes:
- migrations/**/*
- metadata/**/*
- seeds/**/*
【讨论】:
alpine 图片?为什么不用debian 或其他基于 glibc 的 docker?