41

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

 4 years ago
source link: https://www.jianshu.com/p/963910d01795?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

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

22020.03.16 00:35:06字数 509阅读 734

集中式身份管理

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

工具包准备

Docker安装启动方式
  • Docker

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

webp
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版本)
13人点赞
"小礼物走一走,来简书关注我"
还没有人赞赏,支持一下
michaelliuyang简书刚开通,自己的印象笔记和各种笔记持续更新到简书中
总资产7 (约0.71元)共写了7555字获得120个赞共93个粉丝

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK