Skip to content

Commit b35f319

Browse files
authored
Merge pull request #208 from infosiftr/rabbitmqadmin
Ensure "rabbitmqadmin" is extracted and ready for use in the management image variants
2 parents 28001b5 + b9eda3e commit b35f319

File tree

3 files changed

+52
-6
lines changed

3 files changed

+52
-6
lines changed

.travis.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ install:
1010

1111
before_script:
1212
- env | sort
13-
- cd "$VERSION"
14-
- image="rabbitmq:$VERSION-$VARIANT"
13+
- cd "$VERSION/$VARIANT"
14+
- image="$(awk 'toupper($1) == "FROM" { print $2; exit }' management/Dockerfile)"
1515

1616
script:
17-
- travis_retry docker build -t "$image" "$VARIANT"
17+
- travis_retry docker build -t "$image" .
1818
- ~/official-images/test/run.sh "$image"
19-
- travis_retry docker build -t "${image}-management" "$VARIANT/management"
19+
- travis_retry docker build -t "${image}-management" management
2020
- ~/official-images/test/run.sh "${image}-management"
2121

2222
after_script:

3.6/alpine/management/Dockerfile

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
1-
FROM rabbitmq:alpine
1+
FROM rabbitmq:3.6-alpine
22

33
RUN rabbitmq-plugins enable --offline rabbitmq_management
44

5+
# extract "rabbitmqadmin" from inside the "rabbitmq_management-X.Y.Z.ez" plugin zipfile
6+
# see https://github.com/docker-library/rabbitmq/issues/207
7+
RUN set -eux; \
8+
erl -noinput -eval ' \
9+
{ ok, AdminBin } = zip:foldl(fun(FileInArchive, GetInfo, GetBin, Acc) -> \
10+
case Acc of \
11+
"" -> \
12+
case lists:suffix("/rabbitmqadmin", FileInArchive) of \
13+
true -> GetBin(); \
14+
false -> Acc \
15+
end; \
16+
_ -> Acc \
17+
end \
18+
end, "", init:get_plain_arguments()), \
19+
io:format("~s", [ AdminBin ]), \
20+
init:stop(). \
21+
' -- /plugins/rabbitmq_management-*.ez > /usr/local/bin/rabbitmqadmin; \
22+
[ -s /usr/local/bin/rabbitmqadmin ]; \
23+
chmod +x /usr/local/bin/rabbitmqadmin; \
24+
apk add --no-cache python; \
25+
rabbitmqadmin --version
26+
527
EXPOSE 15671 15672

3.6/debian/management/Dockerfile

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,29 @@
1-
FROM rabbitmq
1+
FROM rabbitmq:3.6
22

33
RUN rabbitmq-plugins enable --offline rabbitmq_management
44

5+
# extract "rabbitmqadmin" from inside the "rabbitmq_management-X.Y.Z.ez" plugin zipfile
6+
# see https://github.com/docker-library/rabbitmq/issues/207
7+
RUN set -eux; \
8+
erl -noinput -eval ' \
9+
{ ok, AdminBin } = zip:foldl(fun(FileInArchive, GetInfo, GetBin, Acc) -> \
10+
case Acc of \
11+
"" -> \
12+
case lists:suffix("/rabbitmqadmin", FileInArchive) of \
13+
true -> GetBin(); \
14+
false -> Acc \
15+
end; \
16+
_ -> Acc \
17+
end \
18+
end, "", init:get_plain_arguments()), \
19+
io:format("~s", [ AdminBin ]), \
20+
init:stop(). \
21+
' -- /plugins/rabbitmq_management-*.ez > /usr/local/bin/rabbitmqadmin; \
22+
[ -s /usr/local/bin/rabbitmqadmin ]; \
23+
chmod +x /usr/local/bin/rabbitmqadmin; \
24+
apt-get update; \
25+
apt-get install -y --no-install-recommends python; \
26+
rm -rf /var/lib/apt/lists/*; \
27+
rabbitmqadmin --version
28+
529
EXPOSE 15671 15672

0 commit comments

Comments
 (0)