开源工具专题-04 Atlassian Crowd部署备份及迁移

开源工具专题-04 Atlassian Crowd部署备份及迁移

  • 本教程由羞涩梦整理同步发布,本人技术分享站点:blog.hukanfa.com
  • 转发本文请备注原文链接,本文内容整理日期:2024-05-29
  • csdn 博客名称:五维空间-影子,欢迎关注

1 安装部署

1.1 制作镜像

:官方镜像也是可以用的,但这里需要做些定制操作所以干脆自行制作镜像

  • 操作如下

    • 前置环境准备
    # 创建目录
    mkdir DiyCrowdImage && cd DiyCrowdImage# 下载crwod包
    wget https://product-downloads.atlassian.com/software/crowd/downloads/atlassian-crowd-3.7.2.tar.gz# 下载jdk 官网:https://www.oracle.com/cn/java/technologies/downloads/
    链接:https://pan.baidu.com/s/1rEJbDiGD2iwyv6NVxex_Kw?pwd=ud62 # 下载 Atlassian Crack Agent 作者:https://zhile.io/2018/12/20/atlassian-license-crack.html
    链接:https://pan.baidu.com/s/1q9XU9o7LUjYC5howh_ZSPg?pwd=20ia# 下载mysql5.7驱动包 官网:https://downloads.mysql.com/archives/c-j/
    5.1.49 链接:https://pan.baidu.com/s/1ulTRJfEmV0X7I8JMueNFsw?pwd=a7cq # 准备完毕,目录下的文件如下所示
    DiyCrowdImage/
    ├── atlassian-agent.jar
    ├── atlassian-crowd-3.7.2.tar.gz
    ├── Dockerfile
    ├── jdk-8u411-linux-x64.tar.gz
    └── mysql-connector-java-5.1.49-bin.jar
    
    • Dockerfile
    FROM hukanfa/rockylinux:9.3-base-v1.0
    # 设置环境变量
    ENV crowdData=/data \crowdHome=/app/crowd \crowdTomcatHome=/app/crowd/apache-tomcat \crowdInitConfig=/app/crowd/crowd-webapp/WEB-INF/classes/crowd-init.properties \crowdVersion=3.7.2
    # 创建目录
    RUN mkdir -p /app /data
    # java
    #ADD jdk1.8.0_77.tar.gz  /usr/local/
    ADD jdk-8u411-linux-x64.tar.gz /usr/local
    # crowd
    ADD atlassian-crowd-${crowdVersion}.tar.gz /app/
    # rename
    RUN mv /app/atlassian-crowd-${crowdVersion} ${crowdHome} \ && mv /usr/local/jdk1.8.0_411  /usr/local/jdk
    # java 全局声明
    ENV PATH=/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin# 拷贝破解agent 和 mysql 驱动
    COPY atlassian-agent.jar /app/crowd/apache-tomcat/bin/
    COPY mysql-connector-java-5.1.49-bin.jar /app/crowd/apache-tomcat/lib/# 设置 crowd.home
    RUN echo "crowd.home=${crowdData}" >> ${crowdInitConfig}
    # 在声明java参数前插入加载agent的启动配置
    RUN sed -ri "/export JAVA_OPTS/i JAVA_OPTS=\"-javaagent:\$CATALINA_HOME\/bin\/atlassian-agent.jar \${JAVA_OPTS}\" " ${crowdTomcatHome}/bin/setenv.sh# 卷声明
    VOLUME ["/data","/app/crowd/apache-tomcat/conf"]# 工作目录
    WORKDIR $crowdTomcatHome# 端口
    EXPOSE 8095# 启动
    CMD ["bin/catalina.sh", "run", "$@"]
    
    • 构建镜像
    # 此镜像已经同步推送到hub.docker.com,可直接拉取
    docker build -t hukanfa/crowd:3.7.2-agent-mysql-v1.0 .
    
    • 创建容器
    ### 宿主机是 centos 直接执行以下命令
    docker run -itd --privileged=true -p 8095:8095 --name crowd hukanfa/atlassian-crowd:3.7.2-agent-mysql-v1.0### 宿主机是 Rockylinux9.3 需要做些设置
    # 路径: /usr/lib/systemd/system/docker.service  增加 --default-ulimit nofile
    [Service]
    Type=notify
    ExecStart=/usr/bin/dockerd --default-ulimit nofile=65535:65535 -H fd:// --containerd=/run/containerd/containerd.sock
    ExecReload=/bin/kill -s HUP $MAINPID# 重载配置
    systemctl daemon-reload
    # 重启docker服务
    systemctl restart docker
    # 最后执行下面命令
    docker run -itd --privileged=true -p 8095:8095 --name crowd hukanfa/atlassian-crowd:3.7.2-agent-mysql-v1.0
    
    • 访问http://ip:8095,出现以下界面说明镜像制没问题

      image-20240520145259833

1.2 创建容器

  • 操作如下

    • docker-compose.yaml
    version: '3'
    services:confluence:image: hukanfa/atlassian-crowd:3.7.2-agent-mysql-v1.0container_name: crowd-srvuser: rootprivileged: truerestart: unless-stoppedenvironment:- TZ=Asia/Shanghaiports:- "8095:8095"volumes:- ./data:/data- ./webConf:/app/crowd/apache-tomcat/conf
    
    • 拷贝文件
    # 创建临时容器
    docker run -itd --privileged=true -p 8095:8095 --name crowd hukanfa/atlassian-crowd:3.7.2-agent-mysql-v1.0
    # 进入容器
    docker exec -it crowd /bin/bash
    # 打包配置目录
    tar -zcvf conf.tar.gz ./conf/# 另开窗口,拷贝到外面
    docker cp crowd:/app/crowd/apache-tomcat/conf.tar.gz ./
    # 解压
    tar -zxvf conf.tar.gz 
    # 重命名
    mv conf webConf
    
    • 创建容器
    docker-compose up -d
    
    • mysql5.7
    # mysq请自行部署,提供5.7容器方式部署demo下载链接,解压运行即可
    https://pan.baidu.com/s/1bWL03T9q0PwDbUINu4HnOA?pwd=0m1t # my.cnf 文件需加入以下配置
    [mysqld]
    ...
    transaction-isolation = READ-COMMITTED# 创建用户及数据库并授权,crowd 此版本只支持 utf8 格式
    CREATE USER 'crowd'@'%' IDENTIFIED BY 'UxqibGbgx3';
    create database crowd CHARACTER SET utf8 COLLATE utf8_bin;
    GRANT ALL ON crowd.* TO 'crowd'@'%';
    flush privileges;
    

1.3 初始配置

  • 操作如下

    • 访问http://ip:8095,点击 Set up Crowd

    image-20240520164308888

    • 复制 Server ID
    # Server ID 
    B8VY-UDPW-7NRD-1R6H
    # 获取 License_key
    docker exec -it crowd-srv java -jar /app/crowd/apache-tomcat/bin/atlassian-agent.jar \
    -p crowd \
    -m hukanfa@example.com \
    -n crowd_license \
    -o https://www.hukanfa.com \
    -s B8VY-UDPW-7NRD-1R6H  # 替换为 Server ID
    # 将生成的 license 粘贴到页面的文本框中
    AAABlQ0ODAoPeJxtkU+PmzAQxe/+FEg9ViQYCAmRLG0WiJYq5A8k2eZUedlJcBcMtQ0s/fQlCblUK
    /niGc97P7/5FpVci2inmYaGnbntzk1X85J9fzdt5AmgipXcpwrItaIbE900UNDQvL51yJnmEpAPM
    hWsulUOPGcFU/Cu5SwFLkF767RMqUrOx+O/GcthxEq0ERfKmbyLPLpt246y+oPyMx2lZYFSUbbvo
    9VdZt9VsKYFEG8TRUHshYvV8CBRVCgQA4tXckVTFUSU5WRQe4JPWlS981V1wHqhMiORZ3jLnfds8
    fZPieVlcZz4S/YzOf/4HU7G1ml/CQ+LOrPGu/gUFssudrffG7trjp5ZmdaOoN6FK+CUpxB8Vkx0Q
    1YzVzem/UEDfeiTVegnwVpf4Sl2sGu7jotte/hCD8waIErUgBIQDYh+4Hl2POkHf/uqT9exr+PYe
    UEf0B1ByGtq2DGMqTGzLPww+ZpgW4s0oxL+3+LdeV0XbyA254PsZYmOH/E8XEzUQ5MvwIecbyu5S
    f0aJv8BzejCkzAsAhRxb9+rU5GnV6uaUHhvmZmjvJH3nwIUFbxqhLgFf/XCrc+hXhWVHrLkVnY=X
    02jj
    

    image-20240520165042878

    image-20240529142939120

    • 下一步,选择 Continue

    image-20240529143003281

    • 数据库配置
    # JDBC_URL 前面配置的账号密码: crowd  UxqibGbgx3
    jdbc:mysql://192.168.26.5:3307/crowd?autoReconnect=true&characterEncoding=utf8&useUnicode=true
    

    image-20240520170137846

    重要:数据库初始化完成后,需要把库和相关表字符集调整成utf8mb4

    ### 目的:支持带有表情包的用户名称,兼容其他数据源的数据迁移导入而不报错
    # 修改数据库字符集
    ALTER DATABASE crowd CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
    # 修改用户表字符集
    ALTER TABLE cwd_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    
    • 下一步:访问设置

    image-20240529143514582

    image-20240520170538645

    • 管理员账号密码设置

    image-20240520170647075

    • 下面直接点继续

    image-20240520170824596

    • 以上所有配置完成会跳转到登录界面,至此,初始配置已完成

    image-20240520170931286

1.4 Jvm管理(可选)

  • 说明

    • 本节主要介绍如何手动管理crowd(tomcat)jvm大小
    • 也可忽略,使用默认配置即可
  • 操作如下

    • setenv.sh 调整
    # 容器内路径: /app/crowd/apache-tomcat/bin/setenv.sh ,主要是前三行
    jvmXms=${JVM_TOMCAT_XMS:=128m}
    jvmXmx=${JVM_TOMCAT_XMX:=512m}
    JAVA_OPTS="-Xms${jvmXms} -Xmx${jvmXmx} -Dfile.encoding=UTF-8 $JAVA_OPTS"JAVA_OPTS="-javaagent:$CATALINA_HOME/bin/atlassian-agent.jar ${JAVA_OPTS}" 
    export JAVA_OPTS# set the location of the pid file
    if [ -z "$CATALINA_PID" ] ; thenif [ -n "$CATALINA_BASE" ] ; thenCATALINA_PID="$CATALINA_BASE"/work/catalina.pidelif [ -n "$CATALINA_HOME" ] ; thenCATALINA_PID="$CATALINA_HOME"/work/catalina.pidfi
    fi
    export CATALINA_PID
    
    • docker-compose.yaml
    version: '3'
    services:confluence:image: hukanfa/atlassian-crowd:3.7.2-agent-mysql-v1.0container_name: crowd-srvuser: rootprivileged: truerestart: unless-stoppedenvironment:- TZ=Asia/Shanghai- JVM_TOMCAT_XMS="500m"- JVM_TOMCAT_XMX="2000m"ports:- "8095:8095"volumes:- ./data:/data- ./webConf:/app/crowd/apache-tomcat/conf- ./setenv.sh:/app/crowd/apache-tomcat/bin/setenv.sh
    
    • 查看调整
    [root@hukanfa crowd]# docker top crowd-srv
    

    image-20240529165257539

    • 界面 System Information 显示的 JVM statistics 也相应变化

    image-20240529165434379

2 数据备份

  • 说明

    • Crowd 是账号统一管理及认证平台,其数据安全必须得到可靠保障
    • Crowd 数据备份有2种途径
      • 1 界面设置定时备份规则,会生成.xml格式的备份文件
      • 2 数据库载体的备份,不管是用 hsqldb 还是 mysql 都应做相应的备份措施
  • 操作如下

    • 路径:右上角小齿轮 > Backup

    image-20240520185502604

    • 备份文件存放路径
    # 最多保留50份备份
    /data/shared/backups
    

3 数据迁移&恢复

  • 说明

    • Crowd 支持通过导入备份的xml格式文件进行数据迁移或恢复
  • 数据迁移注意事项说明

    • 此次将3.7.0版本且数据源是HSQLDB的实例数据迁移到3.7.2版本的mysql
    • 若想保持 3.7.0 版本的管理员用户迁移后密码不变,需在新建3.7.2版本实例时,在以下页面设置相同密码

    image-20240520170647075

    • 在 3.7.2 实例所有设置完成后,到数据库cwd_user表中将该用户的credential字段值记录下来
    • 将 3.7.0 实例备份出的xml文件导入到 3.7.2 完成后,再比对导入前和导入后的credential值是否一致,若不一致则用前面记录的值更新导入后的即可
    • 其他非以上初始界面添加的用户密码不变,将和 3.7.0 的一致
  • 操作如下

    • 直接从备份目录中选择指定的备份文件进行恢复
    # 
    /home/hukanfa/crowd/data/shared/backups
    [root@hukanfa backups]# ls
    atlassian-crowd-2024-05-21-020000-automated-backup-3.7.0.xml
    
    • 界面操作恢复操作
    # 注意,在4.1.3节初始配置中提到。数据迁移操作需对crowd数据库和cwd_user表字符集先转成utf8mb4先
    /data/shared/backups/atlassian-crowd-2024-05-21-020000-automated-backup-3.7.0.xml
    

    image-20240521103751449

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用libgpiod库中的事件方式监测多个输入事件

Linux下要同时检测多个GPIO输入的方法有很多,这里我使用libgpiod库中的API实现多个GPIO输入检测,可以达到类似STM32利用外部中断实现输入事件检测的效果,示例代码如下所示: /* 示例使用的libgpiod库版本为V1.2.1 */ //示例功能是…

2022.9.26DAY678

课程学习:《数据处理技术》讲了“数据查询”的语法格式,语法格式也算是简单,就是没能跟之前的内容联系起来,之前的内容没有及时回顾。 高等数学:“ 函数的概念”,讲了函数的概念,反函数&#…

make_ext4fs:not found

报错信息: 解决: sudo apt-get install android-tools-fsutils sudo apt-get install android-sdk-libsparse-utils sudo apt-get install android-sdk-ext4-utils

跟TED演讲学英文:Let your garden grow wild by Rebecca McMackin

Let your garden grow wild Link: https://www.ted.com/talks/rebecca_mcmackin_let_your_garden_grow_wild Speaker: Rebecca McMackin Date: October 2023 文章目录 Let your garden grow wildIntroductionVocabularySummaryTranscriptAfterword Introduction Many garden…

怎么等比例缩小图片尺寸?这四种方法肯定可以帮到你!

怎么等比例缩小图片尺寸?在当今日常生活中,图片文件是我们不可或缺的一部分,它们以各种形式出现,从社交媒体上的照片到工作文档中的插图,然而,随之而来的问题是,有时这些图片文件的尺寸过大&…

Threejs墙体挖洞做门或窗

在使用Threejs代码构建的展厅中&#xff0c;需要在一面墙中间挖个洞作为门或窗户&#xff0c;效果如下&#xff1a; 引入ThreeBSP.js <script src"plugins/three/ThreeBSP.js"></script> 创建 // 1 定义墙面var cubeGeometry new THREE.BoxGeometry(1…

使用 LiteGraph.js 构建可视化工作流图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 使用 LiteGraph.js 构建可视化工作流图 应用场景介绍 LiteGraph.js 是一个轻量级的开源 JavaScript 库&#xff0c;用于构建可视化工作流图。它广泛应用于游戏开发、数据可视化、交互式叙事等领域。 代码基本…

2024会声会影激活码免费注册码大揭秘!

在当今数字化时代&#xff0c;视频编辑已经成为了许多人日常生活和工作中不可或缺的一部分。无论是制作短视频、Vlog还是专业影视剪辑&#xff0c;一款优秀的视频编辑软件都能让我们事半功倍。而市面上众多的视频编辑软件中&#xff0c;会声会影无疑是备受瞩目的一款。本文将为…

【全开源】知识库文档系统(ThinkPHP+FastAdmin)

&#x1f4da;知识库文档系统&#xff1a;解锁知识的无限可能 一款基于ThinkPHPFastAdmin开发的知识库文档系统&#xff0c;可用于企业工作流程的文档管理&#xff0c;结构化记录沉淀高价值信息&#xff0c;形成完整的知识体系&#xff0c;能够轻松提升知识的流转和传播效率&a…

收银系统源码-千呼新零售2.0【合作案例】

千呼新零售2.0系统是零售行业连锁店一体化收银系统&#xff0c;包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货等连锁店使用。 详细介绍请查看下…

英伟达唯一指定液冷散热供应商维谛技术的股价还有巨大的上涨空间

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 在“全球AI风向标”英伟达带来的超额回报影响下&#xff0c;以及华尔街持续看好英伟达后续走势的带动下&#xff0c;美股已经掀起了一场AI“淘金热”。猛兽财经将在本文中详细介绍一下我们之前就非常看好的一家在全球AI产业…

vue的elementUI的el-tree的选择

有一棵树型的数据,需要实现:在外部加一个 全选和不全选的按钮,去全部勾选树结构里面每一项的选框。 当点击勾选全选的时候,树的每一项都勾选; 当取消全选的时候,树的每一项都不勾选; 当选树的其中一项时,全选按钮是半选状态; 实现效果如下: <template><…

动态规划——浅谈dp如何入门,以及入门题目(值得收藏,持续更新)

前言 动态规划如何入门?如果你问我怎么精通,那我只能告诉你我也不知道,但你要问我怎么入门,那我就可以和你说道说道了. 我并没有能力也不想说你看完就会了,我只是想给大家开个头,你只要知道怎么写了怎么去思考了,你就可以通过刷题来强化思维了,能走多远就看各位的造化了! 动…

从头搭hadoop集群--分布式hadoop集群搭建

模板虚拟机安装配置见博文&#xff1a;https://blog.csdn.net/weixin_66158110/article/details/139236148 配置文件信息如下&#xff1a;https://pan.baidu.com/s/1074eD5aNVugEPcjwVvi9jA?pwdl1xq&#xff08;提取码&#xff1a;l1xq&#xff09; hadoop版本&#xff1a;h…

“论软件架构风格”必过范文,突击2024软考高项论文

论文真题 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义一个系统家族&#xff0c;即一个体系结构定义一个词汇表和一纽约束。词汇表中包含一些构件和连接件类型&#xff0c;而这组约束指出系统是如何将这些构件和连接件组合起来的。体系…

慧天卓特:东南亚基于多源遥感的干旱、土壤水分及洪灾、植被指数、火灾监测和空气质量监测分析

概述 亚洲的东南部地理位置具有特殊的意义&#xff0c;是亚洲纬度最低的地区&#xff0c;也处于亚澳之间的过渡地带&#xff0c;属热带季风气候&#xff0c;森林等自然资源丰富&#xff0c;人口稠密&#xff0c;东南亚和南亚地区面临农业生产、环境保护和经济发展的多重挑战&a…

短视频系列内容生产技能提升 沈阳短视频剪辑培训

优势&#xff1a;一、短视频系列化内容的优势 ①可持续性强 某一条视频效果很好(几十万点赞)时&#xff0c;按照相同格式继续输出非常容易成功: √不需要设计脚本&#xff1b; √不需要重新定制。 √稳定性强&#xff0c; ②节约时间成本和制作成本 举例对标账号&#xf…

随身WiFi十大热门品牌优缺点分析!哪个品牌的随身wifi更值得买?随身wifi推荐测评!

格行随身wifi 【品牌特点】&#xff1a;服务好&#xff0c;性价比高&#xff0c;随身WiFi行业的“海底捞” 【优点】&#xff1a;专注物联网行业15年&#xff0c;产品和服务双驱动&#xff0c;综合实力和客户口碑领先 【缺点】&#xff1a;产品相对聚焦&#xff0c;产品类型…

小程序中实现自定义头部导航组件

在页面中实现自定义头部导航的组件&#xff0c;如果仅是单个页面中需要自定义可在页面的json文件中配置"navigationStyle": “custom”&#xff0c;如果是项目中所有页面都想使用自定义的组件&#xff0c;可在app.json的window中全局配置"navigationStyle"…

VUE3 学习笔记(12):对比Vuex与Pinia状态管理的基本理解

在组件传值中&#xff0c;当嵌套关系越来越复杂的时候必然会将混乱&#xff0c;是否可以把一些值存在一个公共位置&#xff0c;无须传值直接调用呢&#xff1f;VUEX应运而生&#xff0c;但是从VUE3开始对VUEX的支持就不那么高了&#xff0c;官方推荐使用Pinia。 Vuex配置 ST1:…