公司使用的软件开发和协作工具为 Atlassian 系列软件,近期需要从腾讯云迁移到阿里云环境,简单记录下安装和配置过程。(Atlassian 的文档非常详尽,过程中碰见的问题都可以找到解决办法。)

简介

名称 简介
Crowd 易于使用、管理和集成的单点登录和身份管理工具。除了支持 Atlassian 系列软件,也支持 SonarQube,Jenkins,Nexus 等
JIRA 使用敏捷团队的首选软件开发工具,规划、追踪和发布世界一流的软件。
Confluence 可减少东找西找所花的时间,将更多的时间用在完成工作上。可在同一位置整理工作、创建文档并讨论一切内容。
Bitbucket 通过内嵌的评论和拉取请求协作编写代码。整个团队管理并共享 Git 代码库以构建和交付软件。
Bamboo 持续集成、部署和发布管理。

注意事项

写在最前面,避免安装过程中的坑坑坑。

友情提示:安装过程中碰见任何问题,直接上 google 或者 Atlassian 官网搜索,一般都有详细的文档支持

操作系统字符集:数据备份迁移时,可能会出现未知错误,如: Crowd 备份导入时,会出现日期转换错误。

Mysql 驱动:支持 Mysql 数据库,但是未集成 Mysql jdbc 驱动,请提前准备。

Mysql 字符集:库表字符集:utf8,排序字符集:utf8_bin。

阿里云 RDS 控制台,创建的 UTF8 数据库,默认排序字符集为:utf8_general_ci,需要修改为:utf8_bin。

Git 版本:安装 Bitbucket 时,Git 版本需要是 2.2.0+。

安装环境

软件 版本 说明
Centos V7.7 阿里云 ECS
Oracle JDK V1.8.0_171
Git V2.8.3 Bitbucket 依赖 Git 2.2.0+
Mysql V5.7 阿里云 RDS

Crowd

Crowd 安装

# 创建独立安装账号
$ useradd crowd
$ passwd crowd
$ su - crowd # 下载
$ wget https://product-downloads.atlassian.com/software/crowd/downloads/atlassian-crowd-3.2.3.tar.gz # 解压
$ tar -zxvf atlassian-crowd-3.2.3.tar.gz # 设置 crowd.home
$ vi /home/crowd/atlassian-crowd-3.2.3/crowd-webapp/WEB-INF/classes/crowd-init.properties
###############
## ##
## UNIX ##
## ##
###############
## On Unix-based operating systems, uncomment the following
## line and set crowd.home to a directory Crowd should use to
## store its configuration. crowd.home=/home/crowd/atlassian-crowd-3.2.3 # Crowd 支持 Mysql 数据库,但是未集成 Mysql jdbc 驱动
$ cp mysql-connector-java-5.1.46.jar /home/crowd/atlassian-crowd-3.2.3/apache-tomcat/lib # 启动 crowd
$ sh /home/crowd/atlassian-crowd-3.2.3/start_crowd.sh

Crowd 设置

  1. 浏览器中访问 http://yourip:8095 进入初始化页面,输入 License

  2. 选择导入备份

  3. 设置数据库信息

  4. 参数设置

  5. 设置管理员账号

  6. 设置完成

Crowd 迁移

  1. 备份之前 Crowd 数据

  2. 导入备份数据即可

操作系统字符集不一致问题

# 修改操作系统字符集一致
$ echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf
$ source /etc/locale.conf

JIRA

JIRA 安装

# 创建独立安装账号
$ useradd jira
$ passwd jira
$ su - jira # 下载
$ wget https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-7.10.0-x64.bin # 安装,一路回车即可
$ ./atlassian-jira-software-7.10.0-x64.bin
Unpacking JRE ...
Starting Installer ...
三月 26, 2020 7:00:44 下午 java.util.prefs.FileSystemPreferences$1 run
信息: Created user preferences directory.
三月 26, 2020 7:00:44 下午 java.util.prefs.FileSystemPreferences$2 run
信息: Created system preferences directory in java.home.
You do not have administrator rights to this machine and as such, some installation options will not be available. Are you sure you want to continue?
Yes [y, Enter], No [n]
y This will install JIRA Software 7.10.0 on your computer.
OK [o, Enter], Cancel [c]
o
Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing JIRA installation [3]
2 Where should JIRA Software be installed?
[/home/jira/atlassian/jira] Default location for JIRA Software data
[/home/jira/atlassian/application-data/jira] Configure which ports JIRA Software will use.
JIRA requires two TCP ports that are not being used by any other
applications on this machine. The HTTP port is where you will access JIRA
through your browser. The Control port is used to startup and shutdown JIRA.
Use default ports (HTTP: 8080, Control: 8005) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2] Details on where JIRA Software will be installed and the settings that will be used.
Installation Directory: /home/jira/atlassian/jira
Home Directory: /home/jira/atlassian/application-data/jira
HTTP Port: 8080
RMI Port: 8005
Install as service: No
Install [i, Enter], Exit [e] Extracting files ... Please wait a few moments while JIRA Software is configured.
Installation of JIRA Software 7.10.0 is complete
Start JIRA Software 7.10.0 now?
Yes [y, Enter], No [n]
y Please wait a few moments while JIRA Software starts up.
Launching JIRA Software ...
Installation of JIRA Software 7.10.0 is complete
Your installation of JIRA Software 7.10.0 is now ready and can be accessed
via your browser.
JIRA Software 7.10.0 can be accessed at http://localhost:8080
Finishing installation ... # 与 Crowd 类似,需要把 Mysql 驱动包 放到 atlassian/jira/lib 目录下,需要重启生效。
$ cp mysql-connector-java-5.1.46.jar /home/jira/atlassian/jira/lib # 重启
$ sh /home/jira/atlassian/jira/bin/stop-jira.sh
$ sh /home/jira/atlassian/jira/bin/start-jira.sh

JIRA 设置

设置过程与 Crowd 类似。

  1. 浏览器中访问 http://yourip:8080 进入初始化页面;
  2. 选择自定义设置,选择数据库 Mysql(utf8 字符集,utf8_bin 排序规则),输入相关参数,测试连接通过,点击下一步;
  3. 输入license,设置管理员账号,点击下一步;
  4. 跳过邮件通知,设置语言、头像,就可以正式使用 JIRA 了

Confluence

Confluence 安装

# 创建独立安装账号
$ useradd confluence
$ passwd confluence
$ su - confluence # 下载
$ wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-6.9.1-x64.bin # 安装过程与 JIRA 类似
$ ./atlassian-confluence-6.9.1-x64.bin # 与 JIRA 类似,需要把 Mysql 驱动包 放到 /home/confluence/atlassian/confluence/confluence/WEB-INF/lib 目录下,需要重启生效。
$ cp mysql-connector-java-5.1.46.jar /home/confluence/atlassian/confluence/confluence/WEB-INF/lib # 重启
$ sh /home/confluence/atlassian/confluence/bin/stop-confluence.sh
$ sh /home/confluence/atlassian/confluence/bin/stop-confluence.sh

Confluence 设置

设置过程与 JIRA 类似。

  1. 浏览器中访问 http://yourip:8090 进入初始化页面;
  2. 选择生产安装,根据情况选择附加插件,点击下一步;
  3. 输入license,选择数据库 Mysql(utf8 字符集,utf8_bin 排序规则),输入相关参数,测试连接通过,点击下一步;
  4. 选择初始内容,这里可以选择 “Example Site”,会初始新建示例项目;
  5. 选择用户策略,因为我们后续会集成 Crowd,所以这里选择 “Manage users and groups within Confluence”;
  6. 设置管理员账户,就正式使用 Confluence 了。

Bitbucket

Bitbucket 安装

# 创建独立安装账号
$ useradd bitbucket
$ passwd bitbucket
$ su - bitbucket # 下载
$ wget https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-5.11.1-linux-x64.bin # 安装前提条件:Git 版本需要 2.2.0+
# 安装过程与 JIRA 和 Confluence 类似
$ ./atlassian-bitbucket-5.11.1-linux-x64.bin # 与 JIRA 类似,需要把 Mysql 驱动包 放到 /home/bitbucket/atlassian/bitbucket/5.11.1/app/WEB-INF/lib 目录下,需要重启生效。
$ cp mysql-connector-java-5.1.46.jar /home/bitbucket/atlassian/bitbucket/5.11.1/app/WEB-INF/lib # 重启
$ sh /home/bitbucket/atlassian/bitbucket/5.11.1/bin/stop-bitbucket.sh
$ sh /home/bitbucket/atlassian/bitbucket/5.11.1/bin/start-bitbucket.sh

Bitbucket 设置

设置过程与 JIRA 和 Confluence 类似。

  1. 浏览器中访问 http://yourip:7990 进入初始化页面;
  2. 选择数据库 Mysql(utf8 字符集,utf8_bin 排序规则),输入相关参数,测试连接通过,点击下一步;
  3. 输入license,设置管理员账户,就正式使用 Bitbucket 了。

Bamboo

Bamboo 安装

# 创建独立安装账号
$ useradd bamboo
$ passwd bamboo
$ su - bamboo # 下载
$ wget https://product-downloads.atlassian.com/software/bamboo/downloads/atlassian-bamboo-6.6.0.tar.gz # 解压
$ tar -zxvf atlassian-bamboo-6.6.0.tar.gz # 设置 bamboo.home
$ vi /home/bamboo/atlassian-bamboo-6.6.0/atlassian-bamboo/WEB-INF/classes/bamboo-init.properties
bamboo.home=/home/bamboo/atlassian-bamboo-6.6.0 # Crowd 支持 Mysql 数据库,但是未集成 Mysql jdbc 驱动
$ cp mysql-connector-java-5.1.46.jar /home/crowd/atlassian-crowd-3.2.3/apache-tomcat/lib # 启动 crowd
$ sh atlassian-crowd-3.2.3/start_crowd.sh

Bamboo 设置

设置过程与 Bitbucket 等都类似。

  1. 浏览器中访问 http://yourip:8085 进入初始化页面;
  2. 输入license,选择数据库 Mysql(连接参数需要加:autoReconnect=true),输入相关参数,测试连接通过,点击下一步;
  3. 设置管理员账户,就正式使用 Bamboo 了。

Crowd 与 JIRA、Confluence、Bitbucket、Bamboo集成

Crowd 与 JIRA 集成

  1. 使用管理员用户登录 Crowd,新建 Group。

    点击 “Groups” --> “Add group”,输入组名、描述、归属目录,点击创建。

添加用户

  1. 新建Application

    点击 “Applications” --> “Add application”,输入名称、描述、密码,点击创建。

  2. 输入 JIRA 地址 和 其 ip 地址,点击下一步。

  1. 选择允许访问 JIRA 的组,加入进去

  2. 确认信息,点击 “Add application” ,添加应用完成。

  3. 使用 JIRA 管理员,登录 JIRA。

    点击用户管理 --> 用户目录 --> 添加目录,选择 “Atlassian 人群”,点击下一步。

  4. 输入 Crowd 服务器的配置,点击测试,并保存。

名称:Crowd Server

服务器的URL: Crowd的URL地址,比如:http://www.example.com:8095/crowd/

应用程序名称:与在 Crowd 里配置的 Application 名称一致

应用程序密码:与在 Crowd 里配置的 Application 密码一致

  1. 系统默认每 1 小时从 Crowd 同步一次用户(系统管理员可修改),点击同步按钮也可手动同步。

  2. 注销管理员用户,使用 Crowd 里的用户尝试登陆 JIRA,发现能够登录进去了。

Crowd 与 Confluence、Bitbucket、Bamboo 集成

参考 Crowd 与 JIRA 集成。

context-path 配置

默认安装好的 Atlassian 各应用是这样的:

为了快捷访问,需要设置 Atlassian 各应用的访问地址为统一规范,如下:

方案

  1. 设置各应用的 context-path 为 "/"+"应用名"
  2. 使用 nginx 代理,使 www.xxx.com/xxx 分别指向 http://ip:port/xxx
# jira 的 nginx 设置,其他类似
location ^~ /jira { proxy_pass http://x.x.x.x:8080/jira; sendfile off; proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 0; # This is the maximum upload size
client_max_body_size 10m;
client_body_buffer_size 128k; proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90; proxy_temp_file_write_size 64k; # Required for new HTTP-based CLI
proxy_http_version 1.1;
proxy_request_buffering off;
proxy_buffering off; # Required for HTTP-based CLI to work over SSL
}

修改 context-path

Crowd

默认支持,无需修改。

JIRA

# server.xml,在 Context 标签中添加 path="/jira"
$ vi /home/jira/atlassian/jira/conf/server.xml
<Context path="/jira" docBase="${catalina.home}/atlassian-jira" reloadable="false" useHttpOnly="true"> # 重启生效

Confluence

# server.xml,在 Context 标签中添加 path="/confluence"
$ vi /home/confluence/atlassian/confluence/conf/server.xml
<Context path="/confluence" docBase="../confluence" debug="0" reloadable="false" useHttpOnly="true"> # 重启生效

Bitbucket

# bitbucket.properties
$ echo "server.context-path=/bitbucket" >> /home/bitbucket/atlassian/application-data/bitbucket/shared/bitbucket.properties # 重启生效

Bamboo

# server.xml,在 Context 标签中添加 path="/bamboo"
$ vi /home/bamboo/atlassian-bamboo-6.6.0/conf/server.xml
<Context path="/bamboo" docBase="${catalina.home}/atlassian-bamboo" reloadable="false" useHttpOnly="true"> # 重启生效

单点登录(SSO)配置

单点登录(SSO)需要有域名支持,也就是说,在配置sso之前,各应用系统已配置好相应的域名。

Confluence 配置 SSO

# 编辑 seraph-config.xml
$ vi /home/confluence/atlassian/confluence/confluence/WEB-INF/classes/seraph-config.xml
# 注释掉
<!--<authenticator class="com.atlassian.confluence.user.ConfluenceGroupJoiningAuthenticator"/>--> # 打开注释
<authenticator class="com.atlassian.confluence.user.ConfluenceCrowdSSOAuthenticator"/> # 修改 crowd.properties
$ vi /home/confluence/atlassian/confluence/confluence/WEB-INF/classes/crowd.xml
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 生效

验证

先登录crowd,然后在打开一个页面,输入confluence地址,发现不需要在手动输入账户密码,直接就登进去了

注意:必须使用带域名的地址,登录的用户必须是同步过的用户。

JIRA 配置 SSO

参考 Confluence 配置 sso,基本一样,只是 JIRA 的安装目录里没有 crowd.properties 文件,可以从 Confluence 或者 Crowd 拷贝一份,然后修改配置的内容即可。

Bitbucket 配置 SSO

# 编辑 bitbucket.properties
$ vi /home/bitbucket/atlassian/application-data/bitbucket/shared/bitbucket.properties
# 添加下面的属性
plugin.auth-crowd.sso.enabled=true # 重启 Bitbucket 生效

Bamboo 配置 SSO

# 编辑 seraph-config.xml
$ vi /home/bamboo/atlassian-bamboo-6.6.0/atlassian-bamboo/WEB-INF/classes/seraph-config.xml
# 注释掉
<!--<authenticator class="com.atlassian.bamboo.user.authentication.BambooAuthenticator"/>--> # 打开注释
<authenticator class="com.atlassian.crowd.integration.seraph.v25.BambooAuthenticator"/> # 修改 crowd.properties
$ vi /home/bamboo/atlassian-bamboo-6.6.0/xml-data/configuration/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保持一致 # 重启 Bamboo 生效

Atlassian 系列软件安装(Crowd+JIRA+Confluence+Bitbucket+Bamboo)的更多相关文章

  1. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(四) -- 安装crowd 3.1.2

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(四) -- 安装crowd 3.1.2 本来已经安装完毕, 并使用Jira集成的OAuth账户管理, ...

  2. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket+crowd+seafile (零) 修改端口的问题

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket+seafile  (零)  修改端口的问题 来来来,今天说个没有人说过的事, 搭建好Jira+Confluenc ...

  3. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(四) -- 安装bitbucket 5.7.0

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(四) -- 安装bitbucket 5.7.0 安装Bitbucket的教程, 网上能找见的不多, ...

  4. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(三) -- 安装confluence 6.6.1

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(三) -- 安装confluence 6.6.1 有了安装Jira的经验, 这次再安装conflue ...

  5. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(二) -- 安装jira 7.5.4

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(二) -- 安装jira 7.5.4 环境都配置好以后, 开始搭建Jira的环境, 这里参考了一篇文 ...

  6. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(一) -- 安装jdk(含jre)及 MySql 5.6.39

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(一)  --  安装jdk(含jre)及 MySql 5.6.39 回老家已经有一段时间了, 四五线 ...

  7. jetBrain系列软件

    请尽量支持正版软件!https://www.jetbrains.com/ 本文仅供参考 以下提供一种方法可以无限期体验JetBrain2016系列软件. 1.下载JetbrainsCrack-2.5. ...

  8. 使用Crowd集成Confluence与JIRA

    一. 独立安装Crowd,步骤1-步骤13的内容二. 设置Confluence使用Crowd进行认证.步骤14-18的内容三. 设置JIRA使用Crowd进行认证,并使用Confluence的组织机构 ...

  9. Linux Centos7.x下安装部署Jira和confluence以及破解方法详述

    简述 JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域. Confluence是一个专业的企业知识管 ...

随机推荐

  1. wpf xaml CS0426 错误原因

    wpf  程序集中 类命名空间名称和类名不能相同,否则在 xaml生成 i.g.cs时,会导致 自动生成代码无法推到处是类型还是命名空间的问题.   触发这个错误的条件是类命名空间 与 类名相同 并 ...

  2. 如何在Linux系统上安装nginx

      安装Nginx 下载Nginx 到官网http://nginx.org/下载对应nginx包,推荐使用稳定版本进入官网之后界面如下 点击download进行到下一页 然后下载所需要的版本(强烈建议 ...

  3. ML Lecture 0-2: Why we need to learn machine learning?

    在Github上也po了这个系列学习笔记(MachineLearningCourseNote),觉得写的不错的小伙伴欢迎来给项目点个赞哦~~ ML Lecture 0-2: Why we need t ...

  4. OpenCV-Python Canny边缘检测 | 十九

    目标 在本章中,我们将学习 Canny边缘检测的概念 OpenCV函数: cv.Canny() 理论 Canny Edge Detection是一种流行的边缘检测算法.它由John F. Canny发 ...

  5. Jmeter4.0接口测试之断言实战(六)

    在接口测试用例中得有断言,没有断言的接口用例是无效的,一个接口的断言有三个层面,一个是HTTP状态码的断言,另外一个是业务状态码的断言,最后是某一接口请求后服务端响应数据的断言.在Jmeter中增加断 ...

  6. [RH134] 10-NFS和Samba客户端

    NFS和samba服务器的配置,请参考: 这里,我们只讨论客户端的使用 1.NFS客户端的使用 nfs实现的是类Unix系统之间的远程共享目录. 假设我们已经有一个提供nfs服务的服务器,IP为192 ...

  7. Selenium系列(二十) - PageObject模式的详细介绍

    如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...

  8. [bzoj]1053反质数<暴搜>

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1053 感想:这道题拿到以后还是想去知道一个数的约数个数要怎么求,去网上搜了公式,但是还是没有思 ...

  9. c语言提取浮点型数据的整数部分与小数部分几种方法

    一 前记 最近涉及到把各种传感器的数据通过wifi和bt传输出去,这就涉及到了浮点传输的问题,为了方便传输,笔者的做法一般是把小数和整数部分分开,分别传输,这就比较简单明晰了. 二 方法论 其实,把浮 ...

  10. 使用nginx访问FastDFS

    文中所有~~~均为同一个自定义文件夹名字,一般使用项目名称 2.1.为什么需要用Nginx访问? FastDFS通过Tracker服务器,将文件放在Storage服务器存储,但是同组存储服务器之间需要 ...