写点什么

「番外篇」如何用 Git 平台账号登录建木 CI with docker-compose.yml

作者:Jianmu
  • 2022 年 9 月 19 日
    北京
  • 本文字数:6453 字

    阅读完需:约 21 分钟

「番外篇」如何用Git平台账号登录建木CI with docker-compose.yml

前言

迄今为止,建木一共集成了四个 Git 平台用于建木 CI 登录(GiteeGitlinkGitlabGitea

这篇文章主要讲讲如何在建木官方的docker-compose启动脚本里面加上环境变量来改变建木 CI 的 Git 登录平台

开始操作

用户名密码登录

执行命令:wget https://gitee.com/jianmu-dev/jianmu-deploy/raw/master/docker-compose.yml,将官方的启动脚本拉取下来

如下:


version: '3'services:  jianmu-mysql:    image: mysql:8    command: --init-connect='SET NAMES utf8' --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=1200 --max-user-connections=1000    ports:      - "3306:3306"    restart: always    environment:      MYSQL_ROOT_PASSWORD: 123456      MYSQL_DATABASE: "jianmu"      TZ: "Asia/Shanghai"  ci-server:    image: jianmudev/jianmu-ci-server:v2.5.4    restart: always    environment:      SPRING_PROFILES_ACTIVE: dev      SPRING_DATASOURCE_URL: jdbc:mysql://jianmu-mysql:3306/jianmu?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true      SPRING_DATASOURCE_USERNAME: root      SPRING_DATASOURCE_PASSWORD: 123456      JIANMU_WORKER_SECRET: worker-secret      JIANMU_API_ADMINPASSWD: 123456      #      REGISTRY_AK:#      REGISTRY_SK:    volumes:      - /mnt/jianmu/ci:/ci    depends_on:      - jianmu-mysql    entrypoint: ["/wait-for-it.sh", "jianmu-mysql:3306", "-t", "0", "--", "java", "-Duser.timezone=Asia/Shanghai", "-cp", "/app/resources:/app/classes:/app/libs/*", "dev.jianmu.api.SpringbootApp"]  worker:    image: jianmudev/jianmu-worker-docker:v1.0.2    restart: always    environment:      JIANMU_SRV_ADDRESS: http://ci-server:8081      JIANMU_SRV_SECRET: worker-secret      JIANMU_WORKER_ID: worker1      # 可同时并发的容器数量,默认为2      JIANMU_WORKER_CAPACITY: 5    volumes:      - /var/run/docker.sock:/var/run/docker.sock    depends_on:      - jianmu-mysql      - ci-server  web:    image: jianmudev/jianmu-ci-ui:v2.5.4    ports:      - "80:80"      - "443:443"    restart: always    depends_on:      - jianmu-mysql      - ci-server
networks: default: ipam: config: - subnet: 10.1.0.0/16
复制代码


使用默认脚本启动建木

  • 进入初始界面



  • 开始登录,默认的脚本里使用默认的用户名密码来登录



  • 用户名密码登录成功



Gitee 登录

在默认的docker-compose.yml脚本里加入 oauth2 和 Gitee 平台的相关配置,如下

version: '3'services:  jianmu-mysql:    image: mysql:8    command: --init-connect='SET NAMES utf8' --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=1200 --max-user-connections=1000    ports:      - "3306:3306"    restart: always    environment:      MYSQL_ROOT_PASSWORD: 123456      MYSQL_DATABASE: "jianmu"      TZ: "Asia/Shanghai"  ci-server:    image: jianmudev/jianmu-ci-server:v2.5.4    restart: always    environment:      SPRING_PROFILES_ACTIVE: dev      SPRING_DATASOURCE_URL: jdbc:mysql://jianmu-mysql:3306/jianmu?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true      SPRING_DATASOURCE_USERNAME: root      SPRING_DATASOURCE_PASSWORD: 123456      JIANMU_WORKER_SECRET: worker-secret      JIANMU_API_ADMINPASSWD: 123456      #----------------------------------多了以下配置--------------------------------------      # oauth2      JIANMU_OAUTH2_ALLOW-REGISTRATION: 'true'      # gitee      JIANMU_OAUTH2_GITEE_RESPONSE-TYPE: code      JIANMU_OAUTH2_GITEE_GRANT-TYPE: authorization_code      JIANMU_OAUTH2_GITEE_TOKEN-URL: https://gitee.com/oauth/token      JIANMU_OAUTH2_GITEE_CODE-URL: https://gitee.com/oauth/authorize      JIANMU_OAUTH2_GITEE_API-URL: https://gitee.com/api/v5/      JIANMU_OAUTH2_GITEE_CLIENT-SECRET: xxxxxxxxxxxxxxxxxxxx      JIANMU_OAUTH2_GITEE_CLIENT-ID: xxxxxxxxxxxxxxxxxxxxx      JIANMU_OAUTH2_GITEE_SCOPE: user_info      #-----------------------------------多了以上配置--------------------------------------#      REGISTRY_AK:#      REGISTRY_SK:    volumes:      - /mnt/jianmu/ci:/ci    depends_on:      - jianmu-mysql    entrypoint: ["/wait-for-it.sh", "jianmu-mysql:3306", "-t", "0", "--", "java", "-Duser.timezone=Asia/Shanghai", "-cp", "/app/resources:/app/classes:/app/libs/*", "dev.jianmu.api.SpringbootApp"]  worker:    image: jianmudev/jianmu-worker-docker:v1.0.2    restart: always    environment:      JIANMU_SRV_ADDRESS: http://ci-server:8081      JIANMU_SRV_SECRET: worker-secret      JIANMU_WORKER_ID: worker1      # 可同时并发的容器数量,默认为2      JIANMU_WORKER_CAPACITY: 5    volumes:      - /var/run/docker.sock:/var/run/docker.sock    depends_on:      - jianmu-mysql      - ci-server  web:    image: jianmudev/jianmu-ci-ui:v2.5.4    ports:      - "80:80"      - "443:443"    restart: always    depends_on:      - jianmu-mysql      - ci-server
networks: default: ipam: config: - subnet: 10.1.0.0/16
复制代码
  • 进入初始界面



  • 开始登录,提示使用 Gitee 平台登录



  • 进入 Gitee 界面进行授权



  • 登录中



  • 登录成功


Gitea 登录

在默认的docker-compose.yml脚本里加入 oauth2 和 Gitea 平台的相关配置,如下

version: '3'services:  jianmu-mysql:    image: mysql:8    command: --init-connect='SET NAMES utf8' --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=1200 --max-user-connections=1000    ports:      - "3306:3306"    restart: always    environment:      MYSQL_ROOT_PASSWORD: 123456      MYSQL_DATABASE: "jianmu"      TZ: "Asia/Shanghai"  ci-server:    image: jianmudev/jianmu-ci-server:v2.5.4    restart: always    environment:      SPRING_PROFILES_ACTIVE: dev      SPRING_DATASOURCE_URL: jdbc:mysql://jianmu-mysql:3306/jianmu?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true      SPRING_DATASOURCE_USERNAME: root      SPRING_DATASOURCE_PASSWORD: 123456      JIANMU_WORKER_SECRET: worker-secret      JIANMU_API_ADMINPASSWD: 123456      #----------------------------------多了以下配置--------------------------------------      # oauth2      JIANMU_OAUTH2_ALLOW-REGISTRATION: 'true'      # gitea      JIANMU_OAUTH2_GITEA_RESPONSE-TYPE: code      JIANMU_OAUTH2_GITEA_GRANT-TYPE: authorization_code      JIANMU_OAUTH2_GITEA_TOKEN-URL: http://ip:port/login/oauth/access_token      JIANMU_OAUTH2_GITEA_CODE-URL: http://ip:port/login/oauth/authorize      JIANMU_OAUTH2_GITEA_API-URL: http://ip:port/api/v1/      JIANMU_OAUTH2_GITEA_CLIENT-ID: xxxxxxxxxxxxxxxxxxxxxxx      JIANMU_OAUTH2_GITEA_CLIENT-SECRET: xxxxxxxxxxxxxxxxxxxxxxx      #-----------------------------------多了以上配置--------------------------------------#      REGISTRY_AK:#      REGISTRY_SK:    volumes:      - /mnt/jianmu/ci:/ci    depends_on:      - jianmu-mysql    entrypoint: ["/wait-for-it.sh", "jianmu-mysql:3306", "-t", "0", "--", "java", "-Duser.timezone=Asia/Shanghai", "-cp", "/app/resources:/app/classes:/app/libs/*", "dev.jianmu.api.SpringbootApp"]  worker:    image: jianmudev/jianmu-worker-docker:v1.0.2    restart: always    environment:      JIANMU_SRV_ADDRESS: http://ci-server:8081      JIANMU_SRV_SECRET: worker-secret      JIANMU_WORKER_ID: worker1      # 可同时并发的容器数量,默认为2      JIANMU_WORKER_CAPACITY: 5    volumes:      - /var/run/docker.sock:/var/run/docker.sock    depends_on:      - jianmu-mysql      - ci-server  web:    image: jianmudev/jianmu-ci-ui:v2.5.4    ports:      - "80:80"      - "443:443"    restart: always    depends_on:      - jianmu-mysql      - ci-server
networks: default: ipam: config: - subnet: 10.1.0.0/16
复制代码
  • 进入初始界面



  • 开始登录,提示使用 Gitea 平台登录



  • 进入 Gitea 进行授权



  • 登录成功



Gitlink 登录

在默认的docker-compose.yml脚本里加入 oauth2 和 Gitlink 平台的相关配置,如下

version: '3'services:  jianmu-mysql:    image: mysql:8    command: --init-connect='SET NAMES utf8' --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=1200 --max-user-connections=1000    ports:      - "3306:3306"    restart: always    environment:      MYSQL_ROOT_PASSWORD: 123456      MYSQL_DATABASE: "jianmu"      TZ: "Asia/Shanghai"  ci-server:    image: jianmudev/jianmu-ci-server:v2.5.4    restart: always    environment:      SPRING_PROFILES_ACTIVE: dev      SPRING_DATASOURCE_URL: jdbc:mysql://jianmu-mysql:3306/jianmu?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true      SPRING_DATASOURCE_USERNAME: root      SPRING_DATASOURCE_PASSWORD: 123456      JIANMU_WORKER_SECRET: worker-secret      JIANMU_API_ADMINPASSWD: 123456      #----------------------------------多了以下配置--------------------------------------      # oauth2      JIANMU_OAUTH2_ALLOW-REGISTRATION: 'true'      # gitlink      JIANMU_OAUTH2_GITLINK_GRANT-TYPE: authorization_code      JIANMU_OAUTH2_GITLINK_SCOPE: user_info      JIANMU_OAUTH2_GITLINK_RESPONSE-TYPE: code      JIANMU_OAUTH2_GITLINK_CLIENT-ID: xxxxxxxxxxxxxxxxxx      JIANMU_OAUTH2_GITLINK_CLIENT-SECRET: xxxxxxxxxxxxxxxx      JIANMU_OAUTH2_GITLINK_TOKEN-URL: https://www.gitlink.org.cn/oauth/token      JIANMU_OAUTH2_GITLINK_API-URL: https://www.gitlink.org.cn/api/      JIANMU_OAUTH2_GITLINK_BASE-URL: https://www.gitlink.org.cn/      #-----------------------------------多了以上配置--------------------------------------#      REGISTRY_AK:#      REGISTRY_SK:    volumes:      - /mnt/jianmu/ci:/ci    depends_on:      - jianmu-mysql    entrypoint: ["/wait-for-it.sh", "jianmu-mysql:3306", "-t", "0", "--", "java", "-Duser.timezone=Asia/Shanghai", "-cp", "/app/resources:/app/classes:/app/libs/*", "dev.jianmu.api.SpringbootApp"]  worker:    image: jianmudev/jianmu-worker-docker:v1.0.2    restart: always    environment:      JIANMU_SRV_ADDRESS: http://ci-server:8081      JIANMU_SRV_SECRET: worker-secret      JIANMU_WORKER_ID: worker1      # 可同时并发的容器数量,默认为2      JIANMU_WORKER_CAPACITY: 5    volumes:      - /var/run/docker.sock:/var/run/docker.sock    depends_on:      - jianmu-mysql      - ci-server  web:    image: jianmudev/jianmu-ci-ui:v2.5.4    ports:      - "80:80"      - "443:443"    restart: always    depends_on:      - jianmu-mysql      - ci-server
networks: default: ipam: config: - subnet: 10.1.0.0/16
复制代码
  • 进入初始界面



  • 提示使用 Gitlink 登录



  • 进入 Gitlink 进行授权



  • 登录成功



Gitlab 登录

在默认的docker-compose.yml脚本里加入 oauth2 和 Gitlab 平台的相关配置,如下


version: '3'services:  jianmu-mysql:    image: mysql:8    command: --init-connect='SET NAMES utf8' --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=1200 --max-user-connections=1000    ports:      - "3306:3306"    restart: always    environment:      MYSQL_ROOT_PASSWORD: 123456      MYSQL_DATABASE: "jianmu"      TZ: "Asia/Shanghai"  ci-server:    image: jianmudev/jianmu-ci-server:v2.5.4    restart: always    environment:      SPRING_PROFILES_ACTIVE: dev      SPRING_DATASOURCE_URL: jdbc:mysql://jianmu-mysql:3306/jianmu?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true      SPRING_DATASOURCE_USERNAME: root      SPRING_DATASOURCE_PASSWORD: 123456      JIANMU_WORKER_SECRET: worker-secret      JIANMU_API_ADMINPASSWD: 123456      #----------------------------------多了以下配置--------------------------------------      # oauth2      JIANMU_OAUTH2_ALLOW-REGISTRATION: 'true'      # gitlab      JIANMU_OAUTH2_GITLAB_RESPONSE-TYPE: code      JIANMU_OAUTH2_GITLAB_GRANT-TYPE: authorization_code      JIANMU_OAUTH2_GITLAB_SCOPE: api      JIANMU_OAUTH2_GITLAB_TOKEN-URL: http://ip:port/oauth/token      JIANMU_OAUTH2_GITLAB_CODE-URL: http://ip:port/oauth/authorize      JIANMU_OAUTH2_GITLAB_API-URL: http://ip:port/api/v4/      JIANMU_OAUTH2_GITLAB_CLIENT-ID: xxxxxxxxxxxxxxxxxxxxxx      JIANMU_OAUTH2_GITLAB_CLIENT-SECRET: xxxxxxxxxxxxxxxxxxx      #-----------------------------------多了以上配置--------------------------------------#      REGISTRY_AK:#      REGISTRY_SK:    volumes:      - /mnt/jianmu/ci:/ci    depends_on:      - jianmu-mysql    entrypoint: ["/wait-for-it.sh", "jianmu-mysql:3306", "-t", "0", "--", "java", "-Duser.timezone=Asia/Shanghai", "-cp", "/app/resources:/app/classes:/app/libs/*", "dev.jianmu.api.SpringbootApp"]  worker:    image: jianmudev/jianmu-worker-docker:v1.0.2    restart: always    environment:      JIANMU_SRV_ADDRESS: http://ci-server:8081      JIANMU_SRV_SECRET: worker-secret      JIANMU_WORKER_ID: worker1      # 可同时并发的容器数量,默认为2      JIANMU_WORKER_CAPACITY: 5    volumes:      - /var/run/docker.sock:/var/run/docker.sock    depends_on:      - jianmu-mysql      - ci-server  web:    image: jianmudev/jianmu-ci-ui:v2.5.4    ports:      - "80:80"      - "443:443"    restart: always    depends_on:      - jianmu-mysql      - ci-server
networks: default: ipam: config: - subnet: 10.1.0.0/16
复制代码
  • 进入初始界面



  • 提示使用 Gitlab 登录



  • 进入 Gitleb 进行授权



  • 登录成功



官⽹:https://jianmu.dev

代码:https://gitee.com/jianmu-dev

文档:https://docs.jianmu.dev

示例:https://ci.jianmu.dev

发布于: 2022 年 09 月 19 日阅读数: 8
用户头像

Jianmu

关注

北半球第二好用的DevOps工具 2020.08.10 加入

建木是一个面向DevOps领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具。可以帮助用户轻松编排各种DevOps流程并分发到不同平台执行。

评论

发布
暂无评论
「番外篇」如何用Git平台账号登录建木CI with docker-compose.yml_DevOps_Jianmu_InfoQ写作社区