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:password@postgresql: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
    - GITLAB_EMAIL=notifications@example.com
    - GITLAB_EMAIL_REPLY_TO=noreply@example.com
    - GITLAB_INCOMING_EMAIL_ADDRESS=reply@example.com
    - 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
    - SMTP_USER=mailer@example.com
    - SMTP_PASS=password
    - SMTP_STARTTLS=true
    - SMTP_AUTHENTICATION=login
    - IMAP_ENABLED=false
    - IMAP_HOST=imap.gmail.com
    - IMAP_PORT=993
    - IMAP_USER=mailer@example.com
    - 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
hasura graphql server 集成gitlab的更多相关文章
- hasura  graphql  server 集成gatsby
		hasura graphql server 社区基于gatsby-source-graphql 开发了gatsby-postgres-graphql 插件, 可以快速的开发丰富的网站 基本使用 安装h ... 
- hasura  graphql  server event trigger 试用
		hasura graphql server 是一个很不错的graphql 引擎,当前版本已经支持event triiger 了 使用此功能我们可以方便的集成webhook功能,实现灵活,稳定,快捷的消 ... 
- hasura  graphql   server (haskell)构建
		安装 &&运行pg(docker) version: '3.6' services: postgres: image: postgres environment: - "PO ... 
- hasura  graphql  subscriptions 使用
		subscriptions graphql 的一项实时数据推送的功能,还是很方便的,自己在直接使用subscriptions-transport-ws npm 包 的时候运行一直有错误(主要是依赖 ... 
- 通过torodb && hasura graphql 让mongodb 快速支持graphql api
		torodb 可以方便的将mongo 数据实时同步到pg,hasura graphql 可以方便的将pg 数据暴露为graphql api,集成在一起真的很方便 环境准备 docker-compose ... 
- hasura  graphql auth-webhook api 说明
		hasura graphql 生产的使用是推荐使用webhook 进行角色访问控制的,官方同时提供了一个nodejs 的简单demo 代码 git clone https://github.com/h ... 
- gqlgen golang graphql server 基本试用
		gqlgen golang 的graphql server 具体代码参考https://github.com/rongfengliang/gqlgen-demo 特点 模型优先 类型安全 代码生成 安 ... 
- 提升团队幸福感之:集成 GitLab && JIRA 实现自动化工作流
		佛罗伦萨 - 圣母百花圣殿(图) 前言 GitLab 和 Jira 是平时开发过程中使用非常高频的代码管理系统(开发人员)和项目管理系统(项目管理),通过两套系统的协作完成平常大多数的功能开发,但是两 ... 
- Hasura GraphQL schema 生成是如何工作的
		不像大部分的graphql 引擎,使用标准的graphql 规范的处理模型,Hasura graphql 不存在resolver 的概念(实际上是有的,只是转换为了sql语法) 以下是Hasura g ... 
随机推荐
- Confluence 6 启用嵌套用户组
			一些目录服务器能够允许你在一个组中定义另外一个组.在这种结构下的用户组称为用户组嵌套.嵌套组的配置能够让子用户组继承上级用户组的权限,使系统的权限配置变得简单. 这个页面描述了 Confluence ... 
- SecureCRT 7.2.0 Mac版密码无法保存的解决办法
			参考:http://jingyan.baidu.com/article/915fc414fda5fb51394b20bd.html 我之前在网上找的解决办法都是SecureCRT 7.2.0 Mac ... 
- django url 使用总结
			1 无参数情况 配置URL及其视图如下: (r'^hello/$', hello) def hello(request): return HttpResponse("Hello World& ... 
- zookeeper server处理客户端命令的流程
			zk server处理命令涉及到3个类,2个线程:一个命令请求先后经过PrepRequestProcessor,SyncRequestProcessor,FinalRequestProcessor. ... 
- UVALive 4490 压缩DP
			转载自http://blog.csdn.net/zstu_zlj/article/details/9903589 没有接触过压缩DP.位运算也不太熟.所以理解了思路还是不懂代码. 
- learning ext2 filesystem notes
			reference: http://e2fsprogs.sourceforge.net/ext2intro.html reference: http://www.nongnu.org/ext2-do ... 
- pythoon 学习资源
			https://github.com/zhu327/forum http://www.ziqiangxuetang.com/django/django-tutorial.html 
- 快速切题 sgu120. Archipelago 计算几何
			120. Archipelago time limit per test: 0.25 sec. memory limit per test: 4096 KB Archipelago Ber-Islan ... 
- docker官方windows安装
			https://docs.docker.com/engine/installation/windows/ 
- ehlib 如何用代码,选中checkbox呢?
			TDBGridEh = class(TCustomDBGridEh) public property Col; property Row; property Canvas; // property G ... 
