wekan 官方提供了一个集成gogs 的扩展,不是完全的自动化,需要结合cli,但是官方的cli 写的。。。(不是很全)
备注: 测试环境使用docker-compose

环境准备

  • docker-compose 文件
 
version: "3.7"
services:
  wekandb:
    image: mongo:3.2.21
    command: mongod --smallfiles --oplogSize 128
    expose:
      - 27017
    volumes:
      - ./wekan-db:/data/db
      - ./wekan-db-dump:/dump
  wekan:
    image: wekanteam/wekan:v1.97
    ports:
      - 88:8080
    environment:
      - MONGO_URL=mongodb://wekandb:27017/wekan
      - ROOT_URL=http://localhost:88 # 实际使用修改为本地的ip地址
      - WITH_API=true
      - BROWSER_POLICY_ENABLED=true
    depends_on:
      - wekandb
  gogs:
    image: gogs/gogs
    ports:
      - "10022:22"
      - "3000:3000"
    volumes:
      - ./data/gogs:/data
    depends_on:
      - mysql
  mysql:
    image: mysql:5.7.16
    volumes:
      - ./gogs/mysql:/var/lib/mysql
    ports:
      - 3308:3306
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      MYSQL_ROOT_PASSWORD: dalongrong
      MYSQL_DATABASE: gogs
      MYSQL_USER: gogs
      MYSQL_PASSWORD: dalongrong
      TZ: Asia/Shanghai
  wekan-gogs:
    image: dalongrong/wekan-gogs
    ports:
      - 7654:7654
    volumes:
      - ./wekan-gogs-db:/home/node/wekan-gogs/data
    environment:
      - WG_WEKAN_URL=http://wekan:8080
      - WG_WEKAN_USERNAME=dalong
      - WG_WEKAN_PASSWORD=dalong123
      - WG_GOGS_URL=http://gogs:3000
      - WG_GOGS_USERNAME=dalong
      - WG_GOGS_PASSWORD=dalong123
      - WG_URL=http://wekan-gogs:7654 # wekan-gogs server URL
      - WG_CLI=true
    stdin_open: true
    tty: true
 
  • 启动&&配置gogs**wekan
    启动:
docker-compose up -d
 

gogs 配置,按照提示输入mysql 数据库,同时注意初始化注册的账户为dalong dalong123
wekan 配置,类似主要是注册用户即可,使用dalong dalong123
wekan-gogs 配置,基本不需要,首次可能不成功,重新启动下服务即可,(因为账户没有)

  • 效果
    gogs wekan 集成试用_github
    gogs wekan 集成试用_git_02
  • 说明
    默认wekan-gogs 启动之后,会在gogs创建一个应用,在wekan 创建一个priority 的看板,同时配置一个webhook(方便写数据到gogs),类似的我们也可以
    借鉴,同时已经有了好多方便的webhook平台工具,我们可以随意扩展系统

创建git 项目&& 集成wekan

注意需要使用wekan-gogs 的cli(因为自带的代码不是很全,我调整了下代码)参考git https://github.com/rongfengliang/wekan-gogs

  • 创建一个demo git
    gogs wekan 集成试用_docker_03
  • 使用cli 同步wekan
    inside 容器
docker-compose exec wekan-gogs sh
node app.js ## 重新调整的,方便使用cli

操作如下:

同步repo:
wekan-gogs: sync repos dalong
wekan-gogs:
查看repo 列表:
list
┌─────────────┬────────┬───────────────────┐
│ Name │ Active │ Active (Priority) │
├─────────────┼────────┼───────────────────┤
│ dalong/demo │ X │ │
├─────────────┼────────┼───────────────────┤
│ dalong/rong │ │ │
└─────────────┴────────┴───────────────────┘
激活repo:
activate dalong rong
 

git自动添加的标签
gogs wekan 集成试用_mysql_04
wekan 添加的看板
gogs wekan 集成试用_git_05

  • git 项目添加issues
    gogs wekan 集成试用_git_06
  • wekan 同步的效果
    gogs wekan 集成试用_docker_07
  • wekan 添加看板任务
    gogs wekan 集成试用_github_08
  • git 创建的issues
    gogs wekan 集成试用_github_09

说明

使用wekan-gogs 将wekan 和gogs 集成起来还是很方便的,只是当前还有些不是很方便,有写是写死的,同时稳定性也不是很好,但是
因为有接口我们好多事情做起来就都很简单了

参考资料

https://github.com/rongfengliang/wekan-gogs