一、安装postgres数据库
1 2 3 4 5 6 7 8 |
docker run -d \ --name atlassian_postgres \ -e POSTGRES_PASSWORD=XXXXXXXXXXX \ -e PGDATA=/var/lib/postgresql/data/pgdata \ -v /databases/atlassian/postgres:/var/lib/postgresql/data \ -d -p 5432:5432 \ --restart=always \ postgres |
二、安装confluence
2.1 进入postgres
1 2 3 |
docker exec -ti atlassian_postgres /bin/bash su - postgres psql |
2.2 创建confluence数据库
1 |
CREATE ROLE confluenceuser WITH LOGIN PASSWORD 'XXXXXXXXXXX' VALID UNTIL 'infinity'; |
2.3 授权用户
1 |
CREATE DATABASE confluence WITH ENCODING='UTF8' OWNER=confluenceuser CONNECTION LIMIT=-1; |
2.4 下载映像
1 |
docker pull atlassian/confluence |
2.5 创建数据持久化存储目录
1 2 |
mkdir -p /databases/atlassian/confluence/config/etc mdkir -p /databases/atlassian/confluence/fonts/windowsfonts/ |
2.6 启动映像
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
docker run -d \ --name confluence \ -e TZ=Asia/Shanghai \ -e CATALINA_OPTS="-Dconfluence.document.conversion.fontpath=/var/atlassian/application-data/confluence/fonts/windowsfonts/ ${CATALINA_OPTS}" \ -e JAVA_OPTS="-javaagent:/var/atlassian/application-data/confluence/atlassian-agent.jar ${JAVA_OPTS}" \ -e JVM_MAXIMUM_MEMORY="2048m" \ -e JVM_RESERVED_CODE_CACHE_SIZE="512m" \ -v /databases/atlassian/confluence:/var/atlassian/application-data/confluence \ -v /databases/atlassian/confluence/config/etc:/opt/atlassian/etc \ -v /databases/atlassian/confluence/config/crowd.properties:/opt/atlassian/confluence/confluence/WEB-INF/classes/crowd.properties \ -p 8090:8090 \ -p 8091:8091 \ --restart=always \ atlassian/confluence |
释义:
-e CATALINA_OPTS="-Dconfluence.document.conversion.fontpath=/var/atlassian/application-data/confluence/fonts/windowsfonts/ ${CATALINA_OPTS}",此变量是为了解决文档中文乱码的问题,需要把windows系统中的fonts字体文件放置在/var/atlassian/application-data/confluence/fonts/windowsfonts/ 目录下。
-e JAVA_OPTS="-javaagent:/var/atlassian/application-data/confluence/atlassian-agent.jar ${JAVA_OPTS}" ,只可意会,不可言传。需要将atlassian-agent文件上传至/databases/atlassian/confluence目录下
-v /databases/atlassian/confluence:/var/atlassian/application-data/confluence ,将confluence产生的数据文件永久化存储至本地/databases/atlassian/confluence目录下,需要提前创建
-v /databases/atlassian/confluence/config/etc:/opt/atlassian/etc ,将confluence的配置文件永久化存储至本地 /databases/atlassian/confluence/config/etc目录下,需要提前创建
-v /databases/atlassian/confluence/config/crowd.properties:/opt/atlassian/confluence/confluence/WEB-INF/classes/crowd.properties ,将同crowd进行关联的配置文件永久化存储至/databases/atlassian/confluence/config/crowd.properties文件。
2.6 访问服务器的8090端口,进行初始化。
在初始化过程中,会让输入密钥,以下命令只可意会
1 |
java -jar atlassian-agent.jar -p conf -m test@test.com -n BAT -o http://192.168.10.29:8090 -s BEZX-LBNX-90N5-W88X -d |
初始化配置完毕后,即可正常使用。
三、安装crowd
3.1 创建数据库(需要进行postgres)
1 |
CREATE ROLE crowduser WITH LOGIN PASSWORD 'XXXXXXXXXXX' VALID UNTIL 'infinity'; |
3.2 授权用户
1 |
CREATE DATABASE crowd WITH ENCODING='UTF8' OWNER=crowduser CONNECTION LIMIT=-1; |
3.3 下载映像
1 |
docker pull atlassian/crowd |
3.4 创建数据持久化存储目录
1 |
mkdir -p /databases/atlassian/crowd/config/etc |
3.5 启动映像
1 2 3 4 5 6 7 8 9 |
docker run -d \ --name crowd \ -e TZ=Asia/Shanghai \ -e JAVA_OPTS="-javaagent:/var/atlassian/application-data/crowd/atlassian-agent.jar ${JAVA_OPTS}" \ -v /databases/atlassian/crowd/config/etc:/opt/atlassian/etc \ -v /databases/atlassian/crowd:/var/atlassian/application-data/crowd \ -p 8095:8095 \ --restart=always \ atlassian/crowd |
1 |
释义同上,不作解释。
3.5 访问服务器的8095端口,进行初始化。
在初始化过程中,会让输入密钥,以下命令只可意会
1 |
java -jar atlassian-agent.jar -p crowd -m test@test.com -n BAT -o http://192.168.10.29:8095 -s BLI9-PFI6-NV9A-S9BI -d |
四、安装JIra
4.1 创建数据库(需要进行postgres)
1 |
CREATE ROLE jirauser WITH LOGIN PASSWORD 'XXXXXXXXXXX' VALID UNTIL 'infinity'; |
4.2 授权用户
1 |
CREATE DATABASE jira WITH ENCODING='UTF8' OWNER=jirauser CONNECTION LIMIT=-1; |
4.3 下载映像
1 |
docker pull atlassian/jira-servicemanagement |
4.4 创建数据持久化存储目录
1 |
mkdir -p /databases/atlassian/jira/config/etc |
4.5 启动映像
1 2 3 4 5 6 7 8 9 10 |
docker run -d \ --name jira \ -e TZ=Asia/Shanghai \ -e JAVA_OPTS="-javaagent:/var/atlassian/application-data/jira/atlassian-agent.jar ${JAVA_OPTS}" \ -v /databases/atlassian/jira:/var/atlassian/application-data/jira \ -v /databases/atlassian/jira/config/etc:/opt/atlassian/etc \ -v /databases/atlassian/jira/config/crowd.properties:/opt/atlassian/jira/atlassian-jira/WEB-INF/classes/crowd.properties \ -p 8080:8080 \ --restart=always \ atlassian/jira-servicemanagement |
4.5 访问服务器的8080端口,进行初始化。
在初始化过程中,会让输入密钥,以下命令只可意会
1 |
java -jar atlassian-agent.jar -p jira -m test@test.com -n BAT -o http://192.168.10.29:8095 -s BLI9-PFI6-NV9A-S9BI -d |
五、安装bitbucket
5.1 创建数据库(需要进行postgres)
1 |
CREATE ROLE bitbucketuser WITH LOGIN PASSWORD 'XXXXXXXXXXX' VALID UNTIL 'infinity'; |
5.2 授权用户
1 |
CREATE DATABASE bitbucket WITH ENCODING='UTF8' OWNER=bitbucketuser CONNECTION LIMIT=-1; |
5.3 下载映像
1 |
docker pull atlassian/bitbucket |
5.4 创建数据持久化存储目录
1 |
/databases/atlassian/bitbucket |
5.5 启动映像
1 2 3 4 5 6 7 8 9 10 11 12 13 |
docker run -d \ --name bitbucket \ -e TZ=Asia/Shanghai \ -e JAVA_OPTS="-javaagent:/var/atlassian/application-data/bitbucket/atlassian-agent.jar ${JAVA_OPTS}" \ -e ATL_PROXY_NAME='rrym.wlzs.cn' \ -e ATL_PROXY_PORT='10090' \ -e ATL_TOMCAT_SCHEME='https' \ -e ATL_TOMCAT_SECURE='true'\ -v /databases/atlassian/bitbucket:/var/atlassian/application-data/bitbucket \ -p 7990:7990 \ -p 7999:7999 \ --restart=always \ atlassian/bitbucket |
5.5 访问服务器的7990端口,进行初始化。
在初始化过程中,会让输入密钥,以下命令只可意会
1 |
java -jar atlassian-agent.jar -p bitbucket -m test@test.com -n BAT -o http://192.168.10.29:8095 -s BWXW-RF6S-ZUYJ-CMLO -d |
六、集成crowd的SSO
使用SSO集成,需要使用https证书才可以。
seraph-config.xml 文件在/databases/atlassian/xxx/config/etc目录下。
crowd.properties 文件在/databases/atlassian/xxx/config目录下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# 编辑 seraph-config.xml # 注释掉 <!--<authenticator class="com.atlassian.confluence.user.ConfluenceGroupJoiningAuthenticator"/>--> # 打开注释 <authenticator class="com.atlassian.confluence.user.ConfluenceCrowdSSOAuthenticator"/> # 修改 crowd.properties application.name:配置 crowd 里该 Application 的名称 application.password:配置 crowd 里该 Application 的密码 application.login.url:配置 crowd 的地址 crowd.server.url:配置 crowd 的 services 地址 crowd.base.url:配置 crowd 的 baseurl 地址 session.tokenkey:与 crowd 管理页面的SSO cookie name保持一致 # 重启 Confluence 生效 |
总结
有个想法,其实confluence、crowd、jira 均可以使用bitbucket的方式进行创建,有机会可以尝试一下。