hasura graphql server 集成gitlab

默认官方是提供了gitlab 集成的demo的,但是因为gitlab 一些版本的问题,
跑起来总有问题,所以查找相关资料测试了一个可以运行的版本

项目使用docker-compose 运行 参考 https://github.com/Trantect/docker-compose.yamls

环境准备

  • docker-compose 文件
version: ‘2‘

services:
  redis:
    image: sameersbn/redis:4.0.9-1
    command:
    - --loglevel warning
    volumes:
    - ./srv/docker/gitlab/redis:/var/lib/redis:Z
  graphql-engine:
    image: hasura/graphql-engine:v1.0.0-alpha24
    ports:
    - "8080:8080"
    depends_on:
    - postgresql
    environment:
    - "POSTGRES_PASSWORD:password"
    command: >
      /bin/sh -c "
      graphql-engine --database-url postgres://postgres:[email protected]:5432/gitlabhq_production serve --enable-console;
      "
  postgresql:
    image: sameersbn/postgresql:10
    volumes:
    - ./srv/docker/gitlab/postgresql:/var/lib/postgresql:Z
    ports:
    - "5432:5432"
    environment:
    - DB_USER=gitlab
    - DB_PASS=password
    - PG_PASSWORD=password
    - DB_NAME=gitlabhq_production
    - DB_EXTENSION=pg_trgm

  gitlab:
    image: sameersbn/gitlab:11.3.4
    depends_on:
    - redis
    - postgresql
    ports:
    - "10080:80"
    - "10022:22"
    volumes:
    - ./srv/docker/gitlab/gitlab:/home/git/data:Z
    environment:
    - DEBUG=false

    - DB_ADAPTER=postgresql
    - DB_HOST=postgresql
    - DB_PORT=5432
    - DB_USER=gitlab
    - DB_PASS=password
    - DB_NAME=gitlabhq_production

    - REDIS_HOST=redis
    - REDIS_PORT=6379

    - TZ=Asia/Kolkata
    - GITLAB_TIMEZONE=Kolkata

    - GITLAB_HTTPS=false
    - SSL_SELF_SIGNED=false

    - GITLAB_HOST=localhost
    - GITLAB_PORT=10080
    - GITLAB_SSH_PORT=10022
    - GITLAB_RELATIVE_URL_ROOT=
    - GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string
    - GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string
    - GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string

    - GITLAB_ROOT_PASSWORD=
    - GITLAB_ROOT_EMAIL=

    - GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
    - GITLAB_NOTIFY_PUSHER=false

    - [email protected]
    - [email protected]
    - [email protected]

    - GITLAB_BACKUP_SCHEDULE=daily
    - GITLAB_BACKUP_TIME=01:00

    - SMTP_ENABLED=false
    - SMTP_DOMAIN=www.example.com
    - SMTP_HOST=smtp.gmail.com
    - SMTP_PORT=587
    - [email protected]
    - SMTP_PASS=password
    - SMTP_STARTTLS=true
    - SMTP_AUTHENTICATION=login

    - IMAP_ENABLED=false
    - IMAP_HOST=imap.gmail.com
    - IMAP_PORT=993
    - [email protected]
    - IMAP_PASS=password
    - IMAP_SSL=true
    - IMAP_STARTTLS=false

    - OAUTH_ENABLED=false
    - OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=
    - OAUTH_ALLOW_SSO=
    - OAUTH_BLOCK_AUTO_CREATED_USERS=true
    - OAUTH_AUTO_LINK_LDAP_USER=false
    - OAUTH_AUTO_LINK_SAML_USER=false
    - OAUTH_EXTERNAL_PROVIDERS=

    - OAUTH_CAS3_LABEL=cas3
    - OAUTH_CAS3_SERVER=
    - OAUTH_CAS3_DISABLE_SSL_VERIFICATION=false
    - OAUTH_CAS3_LOGIN_URL=/cas/login
    - OAUTH_CAS3_VALIDATE_URL=/cas/p3/serviceValidate
    - OAUTH_CAS3_LOGOUT_URL=/cas/logout

    - OAUTH_GOOGLE_API_KEY=
    - OAUTH_GOOGLE_APP_SECRET=
    - OAUTH_GOOGLE_RESTRICT_DOMAIN=

    - OAUTH_FACEBOOK_API_KEY=
    - OAUTH_FACEBOOK_APP_SECRET=

    - OAUTH_TWITTER_API_KEY=
    - OAUTH_TWITTER_APP_SECRET=

    - OAUTH_GITHUB_API_KEY=
    - OAUTH_GITHUB_APP_SECRET=
    - OAUTH_GITHUB_URL=
    - OAUTH_GITHUB_VERIFY_SSL=

    - OAUTH_GITLAB_API_KEY=
    - OAUTH_GITLAB_APP_SECRET=

    - OAUTH_BITBUCKET_API_KEY=
    - OAUTH_BITBUCKET_APP_SECRET=

    - OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL=
    - OAUTH_SAML_IDP_CERT_FINGERPRINT=
    - OAUTH_SAML_IDP_SSO_TARGET_URL=
    - OAUTH_SAML_ISSUER=
    - OAUTH_SAML_LABEL="Our SAML Provider"
    - OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid-format:transient
    - OAUTH_SAML_GROUPS_ATTRIBUTE=
    - OAUTH_SAML_EXTERNAL_GROUPS=
    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL=
    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME=
    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME=
    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME=

    - OAUTH_CROWD_SERVER_URL=
    - OAUTH_CROWD_APP_NAME=
    - OAUTH_CROWD_APP_PASSWORD=

    - OAUTH_AUTH0_CLIENT_ID=
    - OAUTH_AUTH0_CLIENT_SECRET=
    - OAUTH_AUTH0_DOMAIN=

    - OAUTH_AZURE_API_KEY=
    - OAUTH_AZURE_API_SECRET=
    - OAUTH_AZURE_TENANT_ID=

启动&&测试

  • 启动

    可能需要启动多次,服务有依赖,有些服务可能还没有运行

docker-compose up -d
  • 效果

  • 添加引擎托管的表
  • 查询
query {
  projects {
    id
    ci_id
    created_at
    creator_id
    archived
    star_count
    storage_version
    description
    updated_at
    namespace_id
  }
}

说明

集成起来很方便,可以便捷的进行ci/cd相关功能的开发,同时包含快捷的api 访问

参考资料

https://github.com/rongfengliang/graphql-engine-gitlab
https://docs.hasura.io/1.0/graphql/manual/index.html
https://github.com/Trantect/docker-compose.yamls

原文地址:https://www.cnblogs.com/rongfengliang/p/9820867.html

时间: 2024-08-30 01:33:30

hasura graphql server 集成gitlab的相关文章

hasura graphql server 集成gatsby

hasura graphql server 社区基于gatsby-source-graphql 开发了gatsby-postgres-graphql 插件, 可以快速的开发丰富的网站 基本使用 安装hasura graphql server 我使用的Heroku 已经部署好了 https://rongfengliang.herokuapp.com/ 说明:后边可能会删了,测试的话,最好的自己搭建 添加表结构以及数据(hasura server) gastby 集成测试 package.json

Team Foundation Server (TFS)与Project Server集成,使用DNS(友好地址)地址注册PWA

问题描述: 当Team Foundation Server(TFS 2010/2012/2013)与Project Server高可用性的环境集成时,必然会使用Project Server (PWA)的DNS地址注册PWA站点(RegisterPWA),而不是使用Project Server的计算机名注册,这样就会出现如下图所示的问题: 下图是执行注册PWA命令时出错的截屏 注册命令:tfsadmin project server /RegisterPWA /tfs:http://tfs2013

hasura graphql 角色访问控制

目前从官方文档以及测试可以看出不加任何header的请求访问的是所有的数据,对于具有访问 控制的请求需要添加请求头,实际生产的使用需要集合web hook 的实现访问控制. 参考配置 访问请求 目前数据只有id=1 不匹配的 匹配的 没有添加角色的(获取所有数据) 几张官方的参考图 配置 开发环境测试 生产使用 参考资料 https://docs.hasura.io/1.0/graphql/manual/auth/index.html 原文地址:https://www.cnblogs.com/r

eureka server 集成security,eureka client报错com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server

当前Spring Coud 版本(Greenwich.SR2)  Spring Boot版本 (2.1.6.RELEASE) 在eureka server 中集成security后,发现eureka client 去注册的时候报以下错误: ----------------------------------------------------------------------------------------------------------------------------------

Gitlab CI持续集成 - GitLab Runner 安装与注册

GitLab Runner安装 需要添加gitlab官方库: # For Debian/Ubuntu/Mint curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash # For RHEL/CentOS/Fedora curl -L https://packages.gitlab.com/install/repositories/runner/g

idea集成gitlab使用ssh免密登录

网上有很多介绍ssh免密登录的文章,具体步骤如下: 1. 生成SSH Key ssh-keygen -t rsa -C "[email protected]"  默认会在相应路径下(/your_home_path)生成id_rsa和id_rsa.pub两个文件,此时终端会显示: Generating public/private rsa key pair.                                                                 

gitlab安装、配置与阿里云产品集成

https://www.ilanni.com/?p=12819 一.gitlab安装与部署 gitlab的安装可以分为源码安装和通过安装包进行安装,要是按照我以前的写作习惯的话,我也会把源码安装在本文章中提现,但是考虑到gitlab本身需要集成的软件比较多,所以在此我们选择的是通过安装包进行安装的. gitlab通过安装包安装很简单的,我们只需要下载对应的RPM包,进行安装即可. 因为本次实验的OS是centos7,所以我们直接从官网下载对应的RPM包即可,如下: https://www.git

Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目

在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集群中去.这个才是我们最终的目标.众所周知,k8s 是目前最火的容器编排项目,很多公司都使用它来构建和管理自己容器集群,可以用来做机器学习训练以及 DevOps 等一系列的事情. 在这里,我们聚焦 CI/CD,针对于 Spring Boot 项目,借助 Gitlab CI 完成流水线的任务配置,最终部

gitlab+jenkins 自动化部署 持续集成

环境: 1.centos7.6 2.jdk1.8.0_141 3.4G 30G 4core 4.关闭防火墙和selinux 一.安装jenkins 1. 下载jenkins https://pkg.jenkins.io/redhat/  jenkins-2.208-1.1.noarch.rpm 2.安装jdk和jenkins rpm包 rpm -ivh jdk-8u141-linux-x64.rpm rpm -ivh jenkins-2.208-1.1.noarch.rpm 3.启动服务及设置开