jira
This commit is contained in:
STAM 2018-09-18 13:44:55 +03:00
parent 5e99188794
commit 5bd53785c2
7 changed files with 141 additions and 0 deletions

View File

@ -0,0 +1 @@
repository: epicmorg/jira

3
jira/.dockerignore Normal file
View File

@ -0,0 +1,3 @@
.git
scripts
.idea

43
jira/Dockerfile Normal file
View File

@ -0,0 +1,43 @@
FROM anapsix/alpine-java:8_jdk
MAINTAINER Atlassian Jira Server Team
ENV RUN_USER daemon
ENV RUN_GROUP daemon
ENV JIRA_HOME /var/atlassian/application-data/jira
ENV JIRA_INSTALL_DIR /opt/atlassian/jira
VOLUME ["${JIRA_HOME}"]
# Expose HTTP and Synchrony ports
EXPOSE 8090
EXPOSE 8091
WORKDIR $JIRA_HOME
CMD ["/entrypoint.sh", "-fg"]
ENTRYPOINT ["/sbin/tini", "--"]
#RUN apk update -qq \
# && update-ca-certificates \
# && apk add ca-certificates wget curl openssh bash procps openssl perl ttf-dejavu tini libc6-compat \
# && rm -rf /var/lib/{apt,dpkg,cache,log}/ /tmp/* /var/tmp/*
RUN apk update -qq \
&& apk add ca-certificates wget curl openssh bash procps openssl perl ttf-dejavu tini \
&& update-ca-certificates \
&& rm -rf /var/lib/{apt,dpkg,cache,log}/ /tmp/* /var/tmp/*
COPY entrypoint.sh /entrypoint.sh
ARG JIRA_VERSION=7.12.1
ARG DOWNLOAD_URL=http://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz
COPY . /tmp
RUN mkdir -p ${JIRA_INSTALL_DIR} \
&& curl -L --silent ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \
&& chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_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} -Dconfluence.home=\${JIRA_HOME}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/port="8090"/port="8090" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml

4
jira/Makefile Normal file
View File

@ -0,0 +1,4 @@
all: jira
jira:
docker build --no-cache -t epicmorg/jira .

44
jira/README.md Normal file
View File

@ -0,0 +1,44 @@
![Atlassian Jira Server](https://www.atlassian.com/dam/wac/legacy/jira_logo_landing.png)
## Memory / Heap Size
If you need to override Confluence Server's default memory allocation, you can control the minimum heap (Xms) and maximum heap (Xmx) via the below environment variables.
* `JVM_MINIMUM_MEMORY` (default: 1024m)
The minimum heap size of the JVM
* `JVM_MAXIMUM_MEMORY` (default: 1024m)
The maximum heap size of the JVM
## Reverse Proxy Settings
If Confluence is run behind a reverse proxy server, then you need to specify extra options to make Confluence aware of the setup. They can be controlled via the below environment variables.
* `CATALINA_CONNECTOR_PROXYNAME` (default: NONE)
The reverse proxy's fully qualified hostname.
* `CATALINA_CONNECTOR_PROXYPORT` (default: NONE)
The reverse proxy's port number via which Confluence is accessed.
* `CATALINA_CONNECTOR_SCHEME` (default: http)
The protocol via which Confluence is accessed.
* `CATALINA_CONNECTOR_SECURE` (default: false)
Set 'true' if CATALINA_CONNECTOR_SCHEME is 'https'.
## JVM configuration
If you need to pass additional JVM arguments to Confluence such as specifying a custom trust store, you can add them via the below environment variable
* `JVM_SUPPORT_RECOMMENDED_ARGS`
Additional JVM arguments for Confluence

33
jira/entrypoint.sh Normal file
View File

@ -0,0 +1,33 @@
#!/bin/bash
set -euo pipefail
# Setup Catalina Opts
: ${CATALINA_CONNECTOR_PROXYNAME:=}
: ${CATALINA_CONNECTOR_PROXYPORT:=}
: ${CATALINA_CONNECTOR_SCHEME:=http}
: ${CATALINA_CONNECTOR_SECURE:=false}
: ${CATALINA_OPTS:=}
CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}"
CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}"
CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}"
CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}"
export CATALINA_OPTS
# Start Confluence as the correct user
if [ "${UID}" -eq 0 ]; then
echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}"
PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}")
EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700
if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then
chmod -R 700 "${JIRA_HOME}" &&
chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}"
fi
# Now drop privileges
exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-confluence.sh $@"
else
exec "$JIRA_INSTALL_DIR/bin/start-confluence.sh" "$@"
fi

13
jira/hooks/post_push Normal file
View File

@ -0,0 +1,13 @@
#!/bin/bash
set -e
# Parse image name for repo name
tagStart=$(expr index "$IMAGE_NAME" :)
repoName=${IMAGE_NAME:0:tagStart-1}
# Tag and push image for each additional tag
for tag in `git tag -l --points-at HEAD`; do
docker tag $IMAGE_NAME ${repoName}:${tag}
docker push ${repoName}:${tag}
done