Docker快速搭建JIRA缺陷管理平台
快速开始
version: '3'
services:
atlassian-jira:
image: cptactionhank/atlassian-jira
ports:
- "9271:8080"
volumes:
- ./jira:/var/atlassian/jira
- ./logs:/opt/atlassian/jira/logs
restart:
always
PS:将以上配置保存为docker-compose.yml,然后执行docker-compose up , 然后会打印一段日志,等日志打印完毕,启动完成
此时访问浏览器:http://127.0.0.1:9271,可以看见如下界面:
此时根据情况选择自动配置、或手动配置,自动配置默认会为您分配试用License,配置完成您就可以使用了!
Docker容器中的Atlassian JIRA Core
这是Atlassian JIRA Core与Docker的集装箱式安装,它是天堂般的搭配,供大家欣赏。此图像的目的是尽可能地使安装尽可能直接,但有一些与Docker相关的扭曲。您可以通过单击下面的相应链接并阅读文档来开始。
如果您想提供帮助,可以进一步查看贡献部分。
我在快车道!让我开始吧
要快速开始运行JIRA Core实例,请使用以下命令:
docker run --detach --publish 8080:8080 cptactionhank/atlassian-jira:latest
然后只需浏览首选浏览器http://[dockerhost]:8080
并完成配置。
组态
您可以通过提供以下环境变量来配置一小组内容
环境变量 | 描述 |
---|---|
X_PROXY_NAME | 设置Tomcat连接器ProxyName 属性 |
X_PROXY_PORT | 设置Tomcat连接器ProxyPort 属性 |
X_PROXY_SCHEME | 如果设置为https Tomcat连接器secure=true 并且redirectPort 等于X_PROXY_PORT |
X_PATH | 设置Tomcat连接器path 属性 |
捐款
这张图片是出于最好的意图和对码头工人的专业理解而创建的,但不应该是完美无瑕的。如果您能够这样做,我请求您通过最佳实践和其他补充帮助支持此存储库。
Travis CI和CircleCI已配置为构建Dockerfile并在Atlassian JIRA Core映像上运行验收测试以确保其正常工作。
此外,Travis CI还配置为在分支机构中成功构建新版本的Atlassian JIRA Core时自动部署新版本分支,master
并作为基础。此外,eap
已设置分支以自动构建和提交更新,以确保此分支包含最新版本的Atlassian JIRA核心早期访问计划。
如果您看到过时的文档,缺少测试等,您可以通过任何一种方式获得帮助
- 创建问题并开始讨论,或
- 发送带有修改的拉取请求(记得先阅读贡献指南。)
持续集成和持续交付成为可能从卓越的服务GitHub上,特拉维斯CI和CircleCI写在红宝石,使用RSpec的,水豚,并PhantomJS框架。
DockerFile
FROM openjdk:8-alpine
# Configuration variables.
ENV JIRA_HOME /var/atlassian/jira
ENV JIRA_INSTALL /opt/atlassian/jira
ENV JIRA_VERSION 7.13.0
# Install Atlassian JIRA and helper tools and setup initial home
# directory structure.
RUN set -x \
&& apk add --no-cache curl xmlstarlet bash ttf-dejavu libc6-compat \
&& mkdir -p "${JIRA_HOME}" \
&& mkdir -p "${JIRA_HOME}/caches/indexes" \
&& chmod -R 700 "${JIRA_HOME}" \
&& chown -R daemon:daemon "${JIRA_HOME}" \
&& mkdir -p "${JIRA_INSTALL}/conf/Catalina" \
&& curl -Ls "https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-core-${JIRA_VERSION}.tar.gz" | tar -xz --directory "${JIRA_INSTALL}" --strip-components=1 --no-same-owner \
&& curl -Ls "https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz" | tar -xz --directory "${JIRA_INSTALL}/lib" --strip-components=1 --no-same-owner "mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar" \
&& rm -f "${JIRA_INSTALL}/lib/postgresql-9.1-903.jdbc4-atlassian-hosted.jar" \
&& curl -Ls "https://jdbc.postgresql.org/download/postgresql-42.2.1.jar" -o "${JIRA_INSTALL}/lib/postgresql-42.2.1.jar" \
&& chmod -R 700 "${JIRA_INSTALL}/conf" \
&& chmod -R 700 "${JIRA_INSTALL}/logs" \
&& chmod -R 700 "${JIRA_INSTALL}/temp" \
&& chmod -R 700 "${JIRA_INSTALL}/work" \
&& chown -R daemon:daemon "${JIRA_INSTALL}/conf" \
&& chown -R daemon:daemon "${JIRA_INSTALL}/logs" \
&& chown -R daemon:daemon "${JIRA_INSTALL}/temp" \
&& chown -R daemon:daemon "${JIRA_INSTALL}/work" \
&& sed --in-place "s/java version/openjdk version/g" "${JIRA_INSTALL}/bin/check-java.sh" \
&& echo -e "\njira.home=$JIRA_HOME" >> "${JIRA_INSTALL}/atlassian-jira/WEB-INF/classes/jira-application.properties" \
&& touch -d "@0" "${JIRA_INSTALL}/conf/server.xml"
# Use the default unprivileged account. This could be considered bad practice
# on systems where multiple processes end up being executed by 'daemon' but
# here we only ever run one process anyway.
USER daemon:daemon
# Expose default HTTP connector port.
EXPOSE 8080
# Set volume mount points for installation and home directory. Changes to the
# home directory needs to be persisted as well as parts of the installation
# directory due to eg. logs.
VOLUME ["/var/atlassian/jira", "/opt/atlassian/jira/logs"]
# Set the default working directory as the installation directory.
WORKDIR /var/atlassian/jira
COPY "docker-entrypoint.sh" "/"
ENTRYPOINT ["/docker-entrypoint.sh"]
# Run Atlassian JIRA as a foreground process by default.
CMD ["/opt/atlassian/jira/bin/start-jira.sh", "-fg"]