工具说明

名称 简介 使用说明
OpenLDAP 开源的LDAP协议实现。 OpenLDAP
GitLab Git仓库管理工具 GitLab使用手册
GitLab-CI GitLab默认集成的持续集成工具 GitLab-CI Runner
Confluence 专业的企业知识管理与协同软件,可用于构建企业wiki
Jira 项目与事务跟踪工具,广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域
Crowd Confluence与Jira单点登录
SonarQube 代码质量管理平台 SonarQube
Nexus Maven仓库管理器 Sonatype Help
Portainer Docker可视化管理工具 Portainer安装
jumpserver 开源堡垒机,符合4A的专业运维审计系统。 jumpserver

使用 docker-compose 部署

以上工具的 docker-compose.yml 文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
version: '3.1'

services:
portainer:
image: portainer/portainer
container_name: portainer
ports:
- 900:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${env_path}/volumes/portainer/data:/data
restart: always

mysql:
image: mysql:5.7
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD=sql123
ports:
- 3306:3306
volumes:
- ${env_path}/volumes/mysql/conf:/etc/mysql
- ${env_path}/volumes/mysql/data:/var/lib/mysql
restart: always

gitlab-runner:
image: gitlab/gitlab-runner
container_name: gitlab-runner
volumes:
- ${env_path}/volumes/gitlab-runner/conf:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock
restart: always

openldap:
image: osixia/openldap:1.3.0
container_name: openldap
# 以下环境变量仅用于新的LDAP服务器
environment:
# 时区
TZ: Asia/Shanghai
# 组织名称
LDAP_ORGANISATION: 'yupaits'
# LDAP域
LDAP_DOMAIN: yupaits.com
# LDAP基本DN。为空,默认取LDAP_DOMAIN的值
LDAP_BASE_DN:
# LDAP管理员密码。默认是 admin
LDAP_ADMIN_PASSWORD: ldap123
# LDAP配置密码。默认是 config
LDAP_CONFIG_PASSWORD: config
# 使用现有的LDAP数据库
volumes:
- ${env_path}/volumes/slapd/database:/var/lib/ldap
- ${env_path}/volumes/slapd/config:/etc/ldap/slapd.d
ports:
- 389:389
- 636:636
restart: always

openldap-backup:
image: osixia/openldap-backup:1.3.0
container_name: openldap-backup
environment:
# 时区
TZ: Asia/Shanghai
# OPENLDAP配置备份cron表达式,默认是 '0 4 * * *',每天凌晨4点
LDAP_BACKUP_CONFIG_CRON_EXP: '0 5 * * *'
# OPENLDAP数据备份cron表达式,默认是 '0 4 * * *'
LDAP_BACKUP_DATA_CRON_EXP: '0 5 * * *'
# OPENLDAP备份保存天数,默认15天
LDAP_BACKUP_TTL: 15
volumes:
- ${env_path}/volumes/openldap/backup:/data/backup
restart: always

phpLDAPadmin:
image: osixia/phpldapadmin:0.9.0
container_name: phpLDAPadmin
environment:
TZ: Asia/Shanghai
PHPLDAPADMIN_LDAP_HOSTS: ldap-host
PHPLDAPADMIN_HTTPS: 'false'
links:
- 'openldap:ldap-host'
ports:
- 680:80
restart: unless-stopped

nexus3:
image: sonatype/nexus3
container_name: nexus3
volumes:
- ${env_path}/volumes/nexus/data:/nexus-data
ports:
- 8081:8081
restart: unless-stopped

postgres:
image: postgres:10
container_name: postgres
environment:
- POSTGRES_USER=admin
- POSTGRES_PASSWORD=pg123
- POSTGRES_DB=sonar
ports:
- 5432:5432
restart: always

sonarqube:
image: sonarqube:lts
container_name: sonarqube
environment:
- sonar.jdbc.url=jdbc:postgresql://postgres/sonar
- sonar.jdbc.username=admin
- sonar.jdbc.password=pg123
volumes:
- sonarqube_conf:/opt/sonarqube/conf
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
- sonarqube_data:/opt/sonarqube/data
ports:
- 9000:9000
links:
- postgres
depends_on:
- postgres
restart: unless-stopped

confluence:
image: yupaits/atlassian-confluence:6.9.0
container_name: confluence
ports:
- 8090:8090
- 8091:8091
volumes:
- ${env_path}/volumes/confluence/home:/var/atlassian/confluence
- ${env_path}/volumes/confluence/logs:/opt/atlassian/confluence/logs
restart: unless-stopped

jira:
image: yupaits/atlassian-jira:7.10.0
container_name: jira
ports:
- 8080:8080
volumes:
- ${env_path}/volumes/jira/home:/var/atlassian/jira
- ${env_path}/volumes/jira/logs:/opt/atlassian/jira/logs
restart: unless-stopped

crowd:
image: yupaits/atlassian-crowd:3.2.1
container_name: crowd
environment:
- JVM_MINIMUM_MEMORY=384m
- JVM_MAXIMUM_MEMORY=768m
ports:
- 8095:8095
volumes:
- ${env_path}/volumes/crowd:/var/atlassian/application-data/crowd
restart: unless-stopped

volumes:
sonarqube_conf:
sonarqube_extensions:
sonarqube_logs:
sonarqube_data:

首次登录说明

  • phpLDAPadmin

初始的登录账号密码为:cn=admin,dc=yupaits,dc=com ldap123

  • gitlab-runner

gitlab-runner的配置文件 config.toml 的内容为:

1
2
concurrent = 2
check_interval = 0
  • sonarqube

初始登录账号密码为:admin admin

在宿主机执行 sudo nano /etc/sysctl.conf 追加写入 vm.max_map_count=262144,执行 sudo sysctl -p 使配置生效

  • mysql

注释 docker-compose.yml 第21-23行,执行以下指令:

1
2
3
4
5
sudo docker-compose up -d
cd ${env_path}/volumes # ${env_path}替换为实际的目录
sudo docker cp mysql:/etc/mysql mysql/
sudo mv mysql/mysql mysql/conf
sudo docker cp mysql:/var/lib/mysql mysql/data

取消21-23注释再执行 sudo docker-compose up -d

  • altalassian

    破解步骤:

    1. 执行 java -jar confluence_keygen.jar
    2. 填写 Name 和 Server ID,点击 .gen! 生成 Key
    3. 点击 .patch! 选择 atlassian-extras-2.4.jar,如果破解的 Jar 包名称不是则重命名为 atlassian-extras-2.4.jar
    4. 将破解之后的 atlassian-extras-2.4.jar 覆盖当前实例的相应 Jar 包(名称和版本可能不一样,要修改成当前实例中的 Jar 包名称)
    5. 重启服务,填写 Key,完成安装