前言
迄今为止,建木一共集成了四个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
使用默认脚本启动建木
- 进入初始界面

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

- 用户名密码登录成功

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:8command: --init-connect='SET NAMES utf8' --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=1200 --max-user-connections=1000ports:- "3306:3306"restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: "jianmu"TZ: "Asia/Shanghai"ci-server:image: jianmudev/jianmu-ci-server:v2.5.4restart: alwaysenvironment:SPRING_PROFILES_ACTIVE: devSPRING_DATASOURCE_URL: jdbc:mysql://jianmu-mysql:3306/jianmu?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=trueSPRING_DATASOURCE_USERNAME: rootSPRING_DATASOURCE_PASSWORD: 123456JIANMU_WORKER_SECRET: worker-secretJIANMU_API_ADMINPASSWD: 123456#----------------------------------多了以下配置--------------------------------------# oauth2JIANMU_OAUTH2_ALLOW-REGISTRATION: 'true'# gitlinkJIANMU_OAUTH2_GITLINK_GRANT-TYPE: authorization_codeJIANMU_OAUTH2_GITLINK_SCOPE: user_infoJIANMU_OAUTH2_GITLINK_RESPONSE-TYPE: codeJIANMU_OAUTH2_GITLINK_CLIENT-ID: xxxxxxxxxxxxxxxxxxJIANMU_OAUTH2_GITLINK_CLIENT-SECRET: xxxxxxxxxxxxxxxxJIANMU_OAUTH2_GITLINK_TOKEN-URL: https://www.gitlink.org.cn/oauth/tokenJIANMU_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:/cidepends_on:- jianmu-mysqlentrypoint: ["/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.2restart: alwaysenvironment:JIANMU_SRV_ADDRESS: http://ci-server:8081JIANMU_SRV_SECRET: worker-secretJIANMU_WORKER_ID: worker1# 可同时并发的容器数量,默认为2JIANMU_WORKER_CAPACITY: 5volumes:- /var/run/docker.sock:/var/run/docker.sockdepends_on:- jianmu-mysql- ci-serverweb:image: jianmudev/jianmu-ci-ui:v2.5.4ports:- "80:80"- "443:443"restart: alwaysdepends_on:- jianmu-mysql- ci-servernetworks:default:ipam:config:- subnet: 10.1.0.0/16
- 进入初始界面

- 提示使用Gitlink登录

- 进入Gitlink进行授权

- 登录成功

GitLab登录
在默认的docker-compose.yml脚本里加入oauth2和Gitlab平台的相关配置,如下
version: '3'services:jianmu-mysql:image: mysql:8command: --init-connect='SET NAMES utf8' --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=1200 --max-user-connections=1000ports:- "3306:3306"restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: "jianmu"TZ: "Asia/Shanghai"ci-server:image: jianmudev/jianmu-ci-server:v2.5.4restart: alwaysenvironment:SPRING_PROFILES_ACTIVE: devSPRING_DATASOURCE_URL: jdbc:mysql://jianmu-mysql:3306/jianmu?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=trueSPRING_DATASOURCE_USERNAME: rootSPRING_DATASOURCE_PASSWORD: 123456JIANMU_WORKER_SECRET: worker-secretJIANMU_API_ADMINPASSWD: 123456#----------------------------------多了以下配置--------------------------------------# oauth2JIANMU_OAUTH2_ALLOW-REGISTRATION: 'true'# gitlabJIANMU_OAUTH2_GITLAB_RESPONSE-TYPE: codeJIANMU_OAUTH2_GITLAB_GRANT-TYPE: authorization_codeJIANMU_OAUTH2_GITLAB_SCOPE: apiJIANMU_OAUTH2_GITLAB_TOKEN-URL: http://ip:port/oauth/tokenJIANMU_OAUTH2_GITLAB_CODE-URL: http://ip:port/oauth/authorizeJIANMU_OAUTH2_GITLAB_API-URL: http://ip:port/api/v4/JIANMU_OAUTH2_GITLAB_CLIENT-ID: xxxxxxxxxxxxxxxxxxxxxxJIANMU_OAUTH2_GITLAB_CLIENT-SECRET: xxxxxxxxxxxxxxxxxxx#-----------------------------------多了以上配置--------------------------------------# REGISTRY_AK:# REGISTRY_SK:volumes:- /mnt/jianmu/ci:/cidepends_on:- jianmu-mysqlentrypoint: ["/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.2restart: alwaysenvironment:JIANMU_SRV_ADDRESS: http://ci-server:8081JIANMU_SRV_SECRET: worker-secretJIANMU_WORKER_ID: worker1# 可同时并发的容器数量,默认为2JIANMU_WORKER_CAPACITY: 5volumes:- /var/run/docker.sock:/var/run/docker.sockdepends_on:- jianmu-mysql- ci-serverweb:image: jianmudev/jianmu-ci-ui:v2.5.4ports:- "80:80"- "443:443"restart: alwaysdepends_on:- jianmu-mysql- ci-servernetworks:default:ipam:config:- subnet: 10.1.0.0/16
- 进入初始界面

- 提示使用Gitlab登录

- 进入Gitlab进行授权

- 登录成功

27万+

被折叠的 条评论
为什么被折叠?



