【问题标题】:Is there a template for migrating Hasura migrations & metadata with gitlab ci是否有使用 gitlab ci 迁移 Hasura 迁移和元数据的模板
【发布时间】:2021-11-12 11:31:52
【问题描述】:

我想用 gitlab 的 CI 迁移我的 Hasura 托管数据库模式和元数据,但那里似乎没有 .gitlab-ci.yml 的具体示例。

【问题讨论】:

    标签: gitlab gitlab-ci hasura


    【解决方案1】:

    这是我们为 .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?
    • @AlexYu 已更新。
    猜你喜欢
    • 1970-01-01
    • 2020-09-30
    • 2016-10-17
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    • 2012-01-11
    相关资源
    最近更新 更多