Docker 创建 Bamboo6.7.1 以及与 Crowd3.3.2 实现 SSO 单点登录
目录
目录目录1、介绍1.1、什么是 Bamboo?2、Bamboo 的官网在哪里?3、如何下载安装?4、对 Bamboo 进行配置4.1、获取授权许可4.2、一般配置4.3、数据库配置4.4、设置管理员帐号和密码4.5、查看破解信息5、设置 Bamboo 使用 Crowd 认证5.1、在 Crowd 中添加 Bamboo 需要用到的用户组5.2、在 Crowd 中添加 Bamboo 应用程序5.3、在 Bamboo 中设置 Crowd 的用户目录5.4、启用 Bamboo 与 Crowd 的 SSO 集成登录5.4.1、修改 crowd.properties 文件5.4.2、安装 Bamboo 需要的 JAR 文件5.4.3、配置 Bamboo 使用 Crowd 认证5.4.4、设置 Bamboo 启用 SSO 登录
1、介绍
1.1、什么是 Bamboo?
Bamboo 是一个进行持续集成、部署和交付的工具,以下是官网的功能介绍:
构建
像 CI 和构建服务器一样专注于 Bamboo 上的编码和计数!创建多阶段构建计划、设置触发器以在提交时开始构建,并将代理分配给关键的构建和部署。
测试
测试是持续集成的关键部分。在 Bamboo 中运行自动化测试,可以在每次更改后完全复原您的产品。并行自动化测试可发挥敏捷开发的强大力量,并使得捕捉缺陷变得更加容易和快速。
部署
Bamboo 为持续交付的“交付”方面提供一流的支持。单调乏味的部署项目会自动发布到每个环境中,同时让您能够使用按环境授予的权限来控制流程。
连接
Bamboo 拥有与nbspJira Software、Bitbucket 和 Fisheye 的最佳集成。此外,您还可以通过以下方式来增加 CI 管道:从我们的 Marketplace 中的 150 多个插件中进行选择或自己创建!
2、Bamboo 的官网在哪里?
https://www.atlassian.com/
3、如何下载安装?
Bamboo 6.7.1 已经封装到了 Docker 镜像中,如何安装Docker,请参考这篇文章
以下实例中安装 Bamboo 6.7.1 ,需要用到 MySQL 5.7,如果你已经安装完Docker,可以下载已经做好的
version: '3'
# https://docs.docker.com/compose/compose-file/
# support Docker version 17.05.0-ce
services:
#################################### bamboo ######################################################
##############################
# jira_bamboo_mysql
##############################
jira_bamboo_mysql:
image: "idoall/mysql:5.7"
hostname: jira_bamboo_mysql
ports:
- "6033:3306"
volumes:
- /srv/your_folder/my.ini:/etc/mysql/my.cnf
networks:
- bamboo
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_DATABASE=bamboo
- MYSQL_USER=bamboo
- MYSQL_PASSWORD=bamboo_mshk
- character-set-server=utf8mb4
- collation-server=utf8mb4_bin
deploy:
replicas: 1
update_config:
delay: 1s
restart_policy:
condition: on-failure
##############################
# jira_bamboo
##############################
jira_bamboo:
image: "idoall/ubuntu16.04-jira-bamboo:6.7.1"
hostname: jira_bamboo
ports:
- "80:8085"
networks:
- bamboo
depends_on:
- jira_bamboo_mysql
deploy:
replicas: 1
update_config:
delay: 1s
restart_policy:
condition: on-failure
# 统一网络设置
networks:
bamboo:
driver: overlay
我们运行以下命令,使用 Docker Stack 的编排服务,来创建 Bamboo 6.7.1 以及 MySQL 5.7 服务:
$ docker stack deploy -c docker-compose.yml mshk_bamboo
Creating network mshk_bamboo_bamboo
Creating service mshk_bamboo_jira_bamboo
Creating service mshk_bamboo_jira_bamboo_mysql
启动成功后,使用下面的命令,可以看到 Bamboo 6.7.1 和 MySQL 5.7 的服务运行状态:
$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
jortvvf4593r mshk_crucible_crucible replicated 1/1 idoall/ubuntu16.04-jira-crucible:4.6.1 *:80->8060/tcp
2kaku3m4yjzd mshk_crucible_crucible_mysql replicated 1/1 idoall/mysql:5.7 *:6033->3306/tcp
再等几分钟以后,在
这时的等待是因为 Bamboo 的服务需要启动, MySQL 5.7 的数据库需要创建。
4、对 Bamboo 进行配置
4.1、获取授权许可
点击 Atlassian ,先获取试用许可证。
在弹出的窗口中,会看到如下界面,输入Organization,确认 Server ID ,然后点击 Generate License:
复制 License Key ,填写到刚才页面中的License key文本框中, 然后点击Custom installation 如下图:
4.2、一般配置
可以在 Name 中设置 Bamboo 的实例名称,在 Base URL 配置你的服务器地址。其他的选项,根据你的情况修改,在这里不做修改。点击 Continue。
4.3、数据库配置
在 Choose a database configuration 选项卡中,Select database 选择 External,然后在下拉列表中,选择 MySQL ,点击 Continue。
数据库连接信息我们在
在下一步选择 Create a new Bamboo home,点击 Continue。
4.4、设置管理员帐号和密码
在这一步中,输入管理员帐号、密码、全名、邮件,然后点击 Finish,能够看到欢迎信息。
4.5、查看破解信息
Bamboo 的破解文件已经打包到了 Docker 中。
点击右上角的齿轮->Overview,在最左侧找到 License details,可以看到,持续支持到 2099 年。
5、设置 Bamboo 使用 Crowd 认证
5.1、在 Crowd 中添加 Bamboo 需要用到的用户组
Crowd 的安装,请参考文章:Docker 创建 Crowd3.3.2 以及打通 Jira Software7.12.3和Confluence6.12.2 SSO 单点登录
参考 Crowd 安装中的 4.10章节 ,添加 bamboo-admin 和 bamboo-user 用户组。
5.2、在 Crowd 中添加 Bamboo 应用程序
参考文章
在URL输入设置的Bamboo URL地址,点击 Resolve IP address,会自动解析出 Remote IP address。
选择创建的apps目录,点击Next。
在Director中勾选Allow all users to authenticate点击Next。
最后点击Add Application,新应用添加成功。
5.3、在 Bamboo 中设置 Crowd 的用户目录
第一步:点击右上角的齿轮->Overview,在最左侧找到 User directories,然后点击 Add Directory 在弹出的窗口中选择 Atlassian Crowd ,点击 Next。
第二步:在 Server URL 处输入 Crowd 的URL地址,在 Application Name 处输入刚才设置的 bamboo 应用程序名称 bamboo,在应用程序密码输入刚才我们设置的密码123456,点击 Test Settings,能够看到如下图中有绿色的提示框,提示 Connection test successful.,最后点 Save and Test。
第三步:在 用户目录,可以看到,我们刚添加的 Crowd Server 目录。
调整 Crowd Server 目录的顺序到第一行,调整后的顺序如下:
5.4、启用 Bamboo 与 Crowd 的 SSO 集成登录
5.4.1、修改 crowd.properties 文件
修改 Bamboo 容器中的文件 /home/work/_data/_jira_bamboo/xml-data/configuration/crowd.properties,将 crowd.properties 文件中的内容application.name修改为bamboo,application.password修改为123456,根据你的 Crowd部署情况看是否要修改 application.login.url 和 crowd.server.url,修改后的内容如下:
application.name bamboo
application.password 123456
application.login.url http://localhost:8095/crowd/console/
crowd.server.url http://localhost:8095/crowd/services/
session.isauthenticated session.isauthenticated
session.tokenkey session.tokenkey
session.validationinterval 2
session.lastvalidation session.lastvalidation
bamboo.crowd.cache.minutes 60
cookie.tokenkey crowd.token_key
5.4.2、安装 Bamboo 需要的 JAR 文件
将 Crowd 容器目录中的 /home/work/_app/_jira_crowd/client/crowd-integration-client-3.3.2.jar 文件,复制到 Bamboo 容器的 /home/work/_app/_jira_bamboo/atlassian-bamboo/WEB-INF/lib/ 目录下面
如果使用的是
$ CONTAINERNAME=`docker ps --format "{{.Names}}" | grep mshk_bamboo_jira_bamboo.1`
$ docker exec $CONTAINERNAME sh -c 'cp /usr/src/_bamboo/crowd-integration-client-3.3.2.jar /home/work/_app/_jira_bamboo/atlassian-bamboo/WEB-INF/lib/'
5.4.3、配置 Bamboo 使用 Crowd 认证
设置 Bamboo 的验证授权为 Crowd,修改 /home/work/_app/_jira_bamboo/atlassian-bamboo/WEB-INF/classes/atlassian-user.xml 文件,将
5.4.4、设置 Bamboo 启用 SSO 登录
修改 /home/work/_app/_jira_bamboo/atlassian-bamboo/WEB-INF/classes/seraph-config.xml文件,将
通过以下命令,重启 Bamboo 容器内的服务,使用在 Crowd 中配置的用户登录,就可以测试效果了。
$ CONTAINERNAME=`docker ps --format "{{.Names}}" | grep mshk_bamboo_jira_bamboo.1`
$ docker exec $CONTAINERNAME sh -c '/home/work/_app/_jira_bamboo/bin/stop-bamboo.sh;/home/work/_app/_jira_bamboo/bin/start-bamboo.sh'
博文作者:迦壹
博客地址:Docker 创建 Bamboo6.7.1 以及与 Crowd3.3.2 实现 SSO 单点登录
转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作!
比特币地址:1KdgydfKMcFVpicj5w4vyn3T88dwjBst6Y
以太坊地址:0xbB0a92d634D7b9Ac69079ed0e521CC2e0a97c420