迄今为止,建木一共集成了四个Git平台用于建木CI登录(Gitee, Gitlink, Gitlab, Gitea)
这篇文章主要讲讲如何在建木官方的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
使用默认脚本启动建木



在默认的 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





在默认的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




在默认的 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




在默认的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



