美文网首页创业公司DevOps工具链杂谈
创业公司基础设施如何搭建(五) —— Crowd(Docker版

创业公司基础设施如何搭建(五) —— Crowd(Docker版

作者: 天行者YANG | 来源:发表于2020-03-16 00:35 被阅读0次

    集中式身份管理

    Crowd从字面意思看就知道啥意思了,可以管理多种用户目录,如Active Directory、LDAP、OpenLDAP、Microsoft Azure AD等,单点登录 (SSO),无缝集成 Jira、Confluence、Jenkins等等常用DevOps工具系统。

    工具包准备

    Docker安装启动方式

    需要准备

    • Docker

    由于官方已经有镜像,我们在官方镜像上面加入自定义的内容即可,官方3.2.1镜像Repo,我们需要的是红框的2个文件,如下(Repo托管是bitbucket):

    crowd-setup-1.png

    我在本地Mac上面建立了一个Docker Build目录,包含下面几个文件

    • Dockerfile(上面的官方repo下载)
    • atlassian-crowd-3.2.1.tar.gz(官方二进制包,主要是Dockerfile里面的Curl自动下载的速度实在是慢的可以,我在提前下载好,COPY进去,这块不是非必须用这个包,可以依赖Dockerfile的Curl到官方下载安装包)
    • atlassian-extras-3.2.jar(百度网盘工具包)
    • mysql-connector-java-5.1.45.jar(Mysql官网下载一个)
    • entrypoint.sh(上面的官方repo下载)
      修改Dockerfile
    FROM openjdk:8-jdk-alpine
    MAINTAINER Dave Chevell
    
    ENV RUN_USER            daemon
    ENV RUN_GROUP           daemon
    
    # https://confluence.atlassian.com/crowd/important-directories-and-files-78676537.html
    ENV CROWD_HOME          /var/atlassian/application-data/crowd
    ENV CROWD_INSTALL_DIR   /opt/atlassian/crowd
    
    VOLUME ["${CROWD_HOME}"]
    
    # Expose HTTP port
    EXPOSE 8095
    
    WORKDIR $CROWD_HOME
    
    CMD ["/entrypoint.sh", "-fg"]
    ENTRYPOINT ["/sbin/tini", "--"]
    
    RUN apk add --no-cache wget curl openssh bash procps openssl perl ttf-dejavu tini
    
    COPY entrypoint.sh              /entrypoint.sh
    
    ARG CROWD_VERSION=3.2.1
    
    COPY atlassian-crowd-${CROWD_VERSION}.tar.gz /tmp/atlassian-crowd-${CROWD_VERSION}.tar.gz
    COPY atlassian-extras-3.2.jar /tmp/atlassian-extras-3.2.jar
    COPY mysql-connector-java-5.1.45.jar /tmp/mysql-connector-java-5.1.45.jar
    
    RUN mkdir -p                             ${CROWD_INSTALL_DIR} \
        && tar -xzvf /tmp/atlassian-crowd-${CROWD_VERSION}.tar.gz -C ${CROWD_INSTALL_DIR} --strip-components=1 --no-same-owner \
        && mv ${CROWD_INSTALL_DIR}/crowd-webapp/WEB-INF/lib/atlassian-extras-3.2.jar ${CROWD_INSTALL_DIR}/crowd-webapp/WEB-INF/lib/atlassian-extras-3.2.jar.bak \
        && mv /tmp/atlassian-extras-3.2.jar ${CROWD_INSTALL_DIR}/crowd-webapp/WEB-INF/lib \
        && mv /tmp/mysql-connector-java-5.1.45.jar ${CROWD_INSTALL_DIR}/crowd-webapp/WEB-INF/lib \
        && rm -rf /tmp/atlassian-crowd-${CROWD_VERSION}.tar.gz \
        && chown -R ${RUN_USER}:${RUN_GROUP} ${CROWD_INSTALL_DIR}/ \
        && sed -i -e 's/-Xms\([0-9]\+[kmg]\) -Xmx\([0-9]\+[kmg]\)/-Xms\${JVM_MINIMUM_MEMORY:=\1} -Xmx\${JVM_MAXIMUM_MEMORY:=\2} \${JVM_SUPPORT_RECOMMENDED_ARGS} -Dcrowd.home=\${CROWD_HOME}/g' ${CROWD_INSTALL_DIR}/apache-tomcat/bin/setenv.sh \
        && sed -i -e 's/port="8095"/port="8095" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${CROWD_INSTALL_DIR}/apache-tomcat/conf/server.xml
    
    

    执行build

    cd /your-docker-build-path
    docker build -t michael/atlassian-crowd:3.2.1 .
    

    启动镜像(配套如果使用MYSQL,建议Docker Compose启动Jira + MYSQL)

    docker run -d --rm --name="crowd" \
    -v /your-path/crowd:/var/atlassian/application-data/crowd  \
    -p 8095:8095 \
    -e "JVM_MINIMUM_MEMORY=384m"
    -e "JVM_MAXIMUM_MEMORY=768m"
    michael/atlassian-crowd:3.2.1
    

    配置

    • 打开http://ip:8095,点击Set up Crowd
      crowd-setup-2.png
    • 用百度网盘的包,进行操作,进入下一步
    • 选择New installation


      crowd-setup-3.png
    • 配置数据库


      crowd-setup-4.png
    • 其他信息确认


      crowd-setup-5.png
    • 默认管理员信息


      crowd-setup-6.png
    创业公司基础设施如何搭建(一) —— 前期准备
    创业公司基础设施如何搭建(二) —— Docker安装
    创业公司基础设施如何搭建(三) —— Confluence(Docker版本)
    创业公司基础设施如何搭建(四) —— Jira(Docker版本)
    创业公司基础设施如何搭建(五) —— Crowd(Docker版本)

    相关文章

      网友评论

        本文标题:创业公司基础设施如何搭建(五) —— Crowd(Docker版

        本文链接:https://www.haomeiwen.com/subject/vvoiehtx.html