服务规划
服务名称 | 数据目录 | 访问端口/数据端口 | 客户端访问地址 |
---|---|---|---|
Postgre | /data/atlassian/postgre/postgreData | 25432 | 3.1.101.36:25432 |
Jira | /data/atlassian/jira | 8080 | 3.1.101.36:8080 |
Confluence | /data/atlassian/confluence | 8090/8091 | 3.1.101.36:8090 |
基础环境配置
创建应用数据目录
mkdir -pv /data/atlassian/postgre/postgreData
mkdir -pv /data/atlassian/confluence/{data,logs}
mkdir -pv /data/atlassian/jira/{data,logs}
chown 2002.2002 /data/atlassian/confluence -R
chown 2001.2001 /data/atlassian/jira -R
创建docker-compose配置文件目录
mkdir -pv /data/docker-compose/atlassian/{postgre,jira,confluence}
docker-compose配置
cat > /data/docker-compose/atlassian/postgre/docker-compose.yml << EOF
version: "3"
services:
atlassian_db:
container_name: atlassian_db
image: postgres:9.6.21
restart: always
ports:
- 5432:5432
volumes:
- /etc/localtime:/etc/localtime
- /data/atlassian/postgre/postgreData:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=123456
deploy:
resources:
limits:
memory: 2G
reservations:
memory: 1G
networks:
- atlassian
networks:
atlassian:
EOF
启动postgre
docker-compose up -d
创建数据库并授权
# 进入atlassian_db容器
docker-compose exec atlassian_db /bin/bash
# 登录数据库
su - postgres
psql
# 创建jira用户,数据并授权
create user jiraadmin with password 'jira123456';
create database jira owner jiraadmin;
grant all privileges on database jira to jiraadmin;
# 创建confluence用户,数据并授权
create user confluenceadmin with password 'confluence123456';
create database confluence owner confluenceadmin;
grant all privileges on database confluence to confluenceadmin;
Jira部署
docker-compose配置
cat > /data/docker-compose/atlassian/jira/docker-compose.yml << EOF
version: "3"
services:
jira:
container_name: jira
image: atlassian/jira-software:8.14
restart: always
ports:
- 8080:8080
volumes:
- /etc/localtime:/etc/localtime
- /data/atlassian/jira/data:/var/atlassian/application-data/jira
- /data/atlassian/jira/logs:/opt/atlassian/jira/logs
environment:
JVM_MINIMUM_MEMORY: 1024m
JVM_MAXIMUM_MEMORY: 2048m
JVM_RESERVED_CODE_CACHE_SIZE: 512m
deploy:
resources:
limits:
memory: 4G
reservations:
memory: 1G
networks:
- atlassian
networks:
atlassian:
EOF
启动JIRA
docker-compose up -d
免费(PJ)方法
- PJ包下载
提取码:txpp
- 破解包上传
docker cp atlassian-extras-3.2.jar jira:/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/atlassian-extras-3.2.jar
docker exec jira chmod +r /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/atlassian-extras-3.2.jar
docker exec jira ls /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/atlassian-extras-3.2.jar -l
安装JIRA
重启容器,生效所有导入jar包
docker-compose restart jira
访问地址:
http://3.1.101.35:8080
语言选择->中文
数据库信息:
连接数据库:其他数据库
数据库类型:postgre
主机:3.1.101.36
端口:5432
数据库:jira
用户名:jiraadmin
密码:jira123456
根据提示进行安装即可,安装后应用程序中查看是否有29天限制,如果没有,即PJ成功
Confluence部署
docker-compose配置
cat > /data/docker-compose/atlassian/confluence/docker-compose.yml << EOF
version: "3"
services:
confluence:
container_name: confluence
image: atlassian/confluence-server:7.13.0-m03
restart: always
ports:
- 8090:8090
- 8091:8091
volumes:
- /etc/localtime:/etc/localtime
- /data/atlassian/confluence/data:/var/atlassian/application-data/confluence
- /data/atlassian/confluence/logs:/opt/atlassian/confluence/logs
environment:
JVM_MINIMUM_MEMORY: 1024m
JVM_MAXIMUM_MEMORY: 2048m
JVM_RESERVED_CODE_CACHE_SIZE: 512m
deploy:
resources:
limits:
memory: 4G
reservations:
memory: 1G
networks:
- atlassian
networks:
atlassian:
EOF
启动confluence
docker-compose up -d
免费(PJ)方法
访问地址: http://3.1.101.36:8090
到输入授权码页面进行如下操作
- 导出Jar包
1. 从docker容器导出到服务器,并重命名为atlassian-extras-2.4.jar
docker cp confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar /usr/local/src/atlassian-extras-2.4.jar
2. 从服务器导出到windows环境
将atlassian-extras-2.4.jar拷贝到windows环境(已经安装了jdk环境)
- 下载PJ文件
下载码: zsu5
- 生成新jar包
在win环境上执行confluence_keygen.jar
弹出框中输入NAME和ServerID(就是授权页面中的服务器ID)
然后点击patch,选择atlassian-extras-2.4.jar,点击gen生成授权码,将授权码保存; 生成授权码后会将原来的atlassian-extras-2.4.jar备份,然后生成一个新的atlassian-extras-2.4.jar
- 上传jar包
1. 将新的atlassian-extras-2.4.jar上传到服务器
2. 从服务器导入docker容器
docker cp atlassian-extras-2.4.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar
docker exec confluence chmod +r /opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar
docker exec confluence ls -l /opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar
安装Confluence
重启容器,生效所有导入jar包
docker-compose restart confluence
重启docker容器(加载新导入的jar包),重复上面的登录操作,进入到授权页面,输入上面保存的授权码,点击下一步
配置数据库
- 数据库选择postgre
连接方式(任选其一即可)
- 通过IP连接
Hostname: 3.1.101.36
Port: 5432
Database name: confluencedb
Username: confluenceadmin
Password: confluencepwd
- 通过JDBC连接
Database URL: jdbc:mysql://3.1.101.36:5432/confluencedb?useUnicode=true&characterEncoding=utf8
Username: confluenceadmin
Password: confluencepwd
连接数据库,提示 成功! 成功连接数据库。即mysql连接成功, 点击下一步,等待安装成功即可
安装免费插件
- 在线安装
管理->应用管理->搜索插件->安装
- 离线安装
搜索插件->下载免费版(Data Center版)->保存到本地
管理->应用管理->上传应用->上传所下插件
Confluence与Jira用户对接
互相添加应用程序
登录Confluence:
管理->应用程序链接,在此处根据提示添加jira的的配置,本地验证模式选择为-OAuth(模拟)
根据提示,切换到jira,添加Confluence的配置
Jira用户配置
添加Jira用户服务器
管理->用户管理->Jira用户服务器->添加应用程序->根据提示数据应用程序名称和密码,
同一台服务器,IP填写Confluence的docker容器IP,
不通服务器,填写docker容器宿主IP
否则连接时会报如下错误
连接测试失败。来自服务器的响应: com.atlassian.crowd.exception.ApplicationPermissionException: Forbidden (403) 加载页面时发生 "403 - Forbidden" 错误 client.forbidden.exception 转换到Jira主页
查看容器IP命令:
docker inspect 容器名
配置Jira用户组
分别添加confluence-administrators和confluence-users用户组(用于登录confluence),在组中添加对应用户
其余权限设定:
1. 管理->应用程序->应用程序访问权中为分组授权 2. 管理->问题->权限方案 中配置更加详细的权限,或者新增权限方案 3. 项目->项目设置->权限 根据不同项目调用不同权限方案
Confluence用户目录配置
- 添加用户目录
管理->用户管理->用户目录添加目录->选择atlassian Jira->根据提示输入名称(自己起), jira服务器地址, 上面定义的用户服务器的用户名密码->测试-测试并保存
- 调整用户目录顺序
将添加的jira用户目录,调整至第一位,查看用户,如果没有同步,点击手动同步
其余权限设定:
管理->用户&安全中, 为用户组配置全局权限和空间权限
Confluence权限配置
管理->用户管理->全局权限
将根据需求将Jira的用户组添加到全局权限中, 并授予对应权限
测试验证
在Jira中创建一个新用户组g1和一个新用户u1,将u1添加到g1组和confluence-users组,并配置对应权限,点击左上角应用程序导航器,切换到Confluence,使用此用户登录,如果可以正常登录,证明Confluence调用jira用户成功
参考链接
https://www.cwiki.us/display/CONFLUENCEWIKI/Connecting+to+Crowd+or+Jira+for+User+Management