Skip to content

atlassian全家桶

概述

  • jira

    项目管理

  • confluence

    文档管理

  • bitbucket

    git仓库

  • crowd

    atlassian单点登录

  • fisheye

    源代码仓库浏览和代码审查工具

    主要关注代码浏览和可视化

    Search, monitor, and track across CVS, SVN, Git, Mercurial and Perforce repositories.

  • crucible

    代码审查工具

    更专注于代码审查和协作

    Find bugs and improve code quality through peer code review.

  • bamboo

    一种持续集成和持续交付 (CI/CD) 工具,类似jenkins

docker-compose

  • docker-compose.yml
yml
version: '3.9'

services:
  crowd:
    image: "atlassian/crowd:5.2.0-jdk11"
    container_name: crowd
    restart: always
    ports:
      - "8095:8095"
    environment:
#      - CROWD_HOME=/var/atlassian/application-data/crowd/
      - JAVA_OPTS=-javaagent:/opt/atlassian-agent.jar
    volumes:
      - ./atlassian-agent-11.jar:/opt/atlassian-agent.jar
      - ./mysql-connector-j-8.2.0.jar:/opt/atlassian/crowd/apache-tomcat/lib/mysql-connector-j-8.2.0.jar
#      - ./crowd-data:/var/atlassian/application-data/crowd

  jira:
    image: "atlassian/jira-software:9.11.2-jdk11"
    container_name: jira
    restart: always
    ports:
      - 7081:8080
    environment:
#      - JIRA_HOME=/var/atlassian/application-data/jira/
      - JAVA_OPTS=-javaagent:/opt/atlassian-agent.jar
    volumes:
      - ./atlassian-agent-11.jar:/opt/atlassian-agent.jar
      - ./mysql-connector-j-8.2.0.jar:/opt/atlassian/jira/lib/mysql-connector-j-8.2.0.jar
#      - ./jira-data:/var/atlassian/application-data/jira

  confluence:
    image: "atlassian/confluence-server:8.3.2-jdk11"
    container_name: confluence
    restart: always
    ports:
      - 8090:8090
      - 8091:8091
    environment:
#      - CONFLUENCE_HOME=/var/atlassian/application-data/confluence/
      - JAVA_OPTS=-javaagent:/opt/atlassian-agent.jar
    volumes:
      - ./atlassian-agent-11.jar:/opt/atlassian-agent.jar
      - ./mysql-connector-j-8.2.0.jar:/opt/atlassian/confluence/lib/mysql-connector-j-8.2.0.jar
#      - ./confluence-data:/var/atlassian/application-data/confluence

  bitbucket:
    image: "atlassian/bitbucket-server:8.15.0-jdk11"
    container_name: bitbucket
    restart: always
    ports:
      - "7990:7990"
      - "7999:7999"
    environment:
#      - BITBUCKET_HOME=/var/atlassian/application-data/bitbucket/
      - JAVA_OPTS=-javaagent:/opt/atlassian-agent.jar
    volumes:
      - ./atlassian-agent-11.jar:/opt/atlassian-agent.jar
      - ./mysql-connector-j-8.2.0.jar:/opt/atlassian/bitbucket/app/WEB-INF/lib/mysql-connector-j-8.2.0.jar
#      - ./bitbucket-data:/var/atlassian/application-data/bitbucket

  fisheye:
    image: atlassian/fisheye:4.8.13
    container_name: fisheye
    restart: always
    ports:
      - 7082:8080
    environment:
#      - FISHEYE_HOME=/atlassian/apps/fisheye
      - FISHEYE_OPTS=-Dfecru.configure.from.env.variables=true -javaagent:/opt/atlassian-agent.jar
    volumes:
      - ./atlassian-agent-8.jar:/opt/atlassian-agent.jar
#      - ./fisheye-data:/atlassian/data/fisheye

  bamboo:
    image: atlassian/bamboo-server:9.4-jdk17
    container_name: bamboo
    restart: always
    ports:
      - 54663:54663
      - 8085:8085
    environment:
#      - BAMBOO_HOME=/var/atlassian/application-data/bamboo
      - JAVA_OPTS=-javaagent:/opt/atlassian-agent.jar
    volumes:
      - ./atlassian-agent-11.jar:/opt/atlassian-agent.jar
      - ./mysql-connector-j-8.2.0.jar:/opt/atlassian/bamboo/lib/mysql-connector-j-8.2.0.jar
#      - ./bamboo-data:/var/atlassian/application-data/bamboo

  mysql:
    image: mysql:8.0.35
    container_name: mysql
    restart: always
    ports:
      - "3307:3306"
    environment:
      MYSQL_ROOT_PASSWORD: root
#    volumes:
#      - ./mysql-data:/var/lib/mysql

networks:
  default:
    external: true
    name: global

创建数据库

  • crowd: utf8mb4
  • jira: utf8mb4
  • confluence: utf8mb4
  • bitbucket: utf8mb3
  • bamboo: utf8mb4
sql
set global transaction isolation level read committed

crowd配置

生成密钥

bash
java -jar /opt/atlassian-agent.jar \
-p crowd \
-m zhile@zhile.io \
-o https://zhile.io \
-s

应用配置

Directories配置

  • Add Directory
    • Select directory type: Internal
    • Name: developers

Groups配置

  • Add group
    • Name: developers
    • Directory: developers

Users配置

  • Add User
    • bob
    • alice
    • jane
    • taylor
    • kelly

Applications配置

  • Add application
    • Name: bitbucket
    • Directories: developers
    • Directory groups: developers

注意

除了要在crowd中连接bitbucket,还需要让bitbucket拉取crowd的用户

  1. 找到bitbucket的系统配置,User Directories
  2. Add Directory
  3. 同步
  4. 找到bitbucket的系统配置,Global permissions
  5. 添加相对应的用户及用户权限

jira配置

bash
java -jar /opt/atlassian-agent.jar \
-p jira \
-m zhile@zhile.io \
-o https://zhile.io \
-s

confluence配置

bash
java -jar /opt/atlassian-agent.jar \
-p conf \
-m zhile@zhile.io \
-o https://zhile.io \
-s

bitbucket配置

bash
java -jar /opt/atlassian-agent.jar \
-d true \
-p bitbucket \
-m zhile@zhile.io \
-o https://zhile.io \
-s

fisheye配置

bash
java -jar /opt/atlassian-agent.jar \
-p fisheye \
-m zhile@zhile.io \
-o https://zhile.io \
-s

bamboo配置

bash
java -jar /opt/atlassian-agent.jar \
-p bamboo \
-m zhile@zhile.io \
-o https://zhile.io \
-s

常见问题

拉取镜像时提示网络错误

配置docker的代理

配置JAVA_OPTS环境变量后无法启动

提示问题

  • docker logs -f bitbucket
java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport

问题分析

异常原因

在JDK 11版本号时,com.sun.activation.registries.LogSupport不再默认支持

解决方案

  1. 设置java环境变量export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
  2. 设置maven的profilejdk-11
  3. 下载atlassian-agent项目源码
  4. 手动导入com.sun.activation:jakarta.activation:1.2.2
  5. 手动导出jar包mvn package
  6. 使用atlassian-agent-jar-with-dependencies.jar

容器能正常启动,但页面出现异常

提示问题

tex
A fatal error has occurred
The following problem occurred, which prevents Atlassian Bitbucket from starting:

SpringMVC dispatcher [springMvc] could not be started

解决方案

删除 bitbucket-data 目录的所有内容

参考资料