|
1 |
| -FROM mozillabteam/bmo-perl-slim:20200505.1 |
2 |
| - |
3 |
| -ENV DEBIAN_FRONTEND noninteractive |
4 |
| - |
5 |
| -ARG CI |
6 |
| -ARG CIRCLE_SHA1 |
7 |
| -ARG CIRCLE_BUILD_URL |
8 |
| - |
9 |
| -ENV CI=${CI} |
10 |
| -ENV CIRCLE_BUILD_URL=${CIRCLE_BUILD_URL} |
11 |
| -ENV CIRCLE_SHA1=${CIRCLE_SHA1} |
12 |
| - |
13 |
| -ENV LOG4PERL_CONFIG_FILE=log4perl-json.conf |
14 |
| - |
15 |
| -RUN apt-get install -y rsync |
16 |
| - |
17 |
| -# we run a loopback logging server on this TCP port. |
18 |
| -ENV LOGGING_PORT=5880 |
19 |
| - |
20 |
| -ENV LOCALCONFIG_ENV=1 |
21 |
| - |
| 1 | +# This file is generated by Dockerfile.PL. Do not edit directly. |
| 2 | +FROM perl:5.36.0-slim AS builder |
22 | 3 | WORKDIR /app
|
23 |
| - |
24 |
| -COPY . /app |
25 |
| - |
26 |
| -RUN chown -R app.app /app && \ |
27 |
| - perl -I/app -I/app/local/lib/perl5 -c -E 'use Bugzilla; BEGIN { Bugzilla->extensions }' && \ |
28 |
| - perl -c /app/scripts/entrypoint.pl |
29 |
| - |
30 |
| -USER app |
31 |
| - |
32 |
| -RUN perl checksetup.pl --no-database --default-localconfig && \ |
33 |
| - rm -rf /app/data /app/localconfig && \ |
34 |
| - mkdir /app/data |
35 |
| - |
36 |
| -EXPOSE 8000 |
37 |
| - |
38 |
| -ENTRYPOINT ["/app/scripts/entrypoint.pl"] |
39 |
| -CMD ["httpd"] |
| 4 | +COPY Makefile.PL gen-cpanfile.pl Bugzilla.pm /app/ |
| 5 | +COPY extensions/LimitedEmail/Config.pm /app/extensions/LimitedEmail/Config.pm |
| 6 | +COPY extensions/LimitedEmail/disabled /app/extensions/LimitedEmail/disabled |
| 7 | +COPY extensions/AntiSpam/Config.pm /app/extensions/AntiSpam/Config.pm |
| 8 | +COPY extensions/AntiSpam/lib/Config.pm /app/extensions/AntiSpam/lib/Config.pm |
| 9 | +COPY extensions/TypeSniffer/Config.pm /app/extensions/TypeSniffer/Config.pm |
| 10 | +COPY extensions/Ember/Config.pm /app/extensions/Ember/Config.pm |
| 11 | +COPY extensions/Ember/disabled /app/extensions/Ember/disabled |
| 12 | +COPY extensions/RestrictComments/Config.pm /app/extensions/RestrictComments/Config.pm |
| 13 | +COPY extensions/RestrictComments/lib/Config.pm /app/extensions/RestrictComments/lib/Config.pm |
| 14 | +COPY extensions/ShadowBugs/Config.pm /app/extensions/ShadowBugs/Config.pm |
| 15 | +COPY extensions/ShadowBugs/disabled /app/extensions/ShadowBugs/disabled |
| 16 | +COPY extensions/Review/Config.pm /app/extensions/Review/Config.pm |
| 17 | +COPY extensions/TagNewUsers/Config.pm /app/extensions/TagNewUsers/Config.pm |
| 18 | +COPY extensions/FlagDefaultRequestee/Config.pm /app/extensions/FlagDefaultRequestee/Config.pm |
| 19 | +COPY extensions/Push/Config.pm /app/extensions/Push/Config.pm |
| 20 | +COPY extensions/Push/lib/Config.pm /app/extensions/Push/lib/Config.pm |
| 21 | +COPY extensions/OpenGraph/Config.pm /app/extensions/OpenGraph/Config.pm |
| 22 | +COPY extensions/OpenGraph/lib/Config.pm /app/extensions/OpenGraph/lib/Config.pm |
| 23 | +COPY extensions/GitHubAuth/Config.pm /app/extensions/GitHubAuth/Config.pm |
| 24 | +COPY extensions/GitHubAuth/lib/Config.pm /app/extensions/GitHubAuth/lib/Config.pm |
| 25 | +COPY extensions/ContributorEngagement/Config.pm /app/extensions/ContributorEngagement/Config.pm |
| 26 | +COPY extensions/BugmailFilter/Config.pm /app/extensions/BugmailFilter/Config.pm |
| 27 | +COPY extensions/EditTable/Config.pm /app/extensions/EditTable/Config.pm |
| 28 | +COPY extensions/Profanivore/Config.pm /app/extensions/Profanivore/Config.pm |
| 29 | +COPY extensions/EditComments/Config.pm /app/extensions/EditComments/Config.pm |
| 30 | +COPY extensions/BzAPI/Config.pm /app/extensions/BzAPI/Config.pm |
| 31 | +COPY extensions/SecureMail/Config.pm /app/extensions/SecureMail/Config.pm |
| 32 | +COPY extensions/SecureMail/disabled /app/extensions/SecureMail/disabled |
| 33 | +COPY extensions/BugModal/Config.pm /app/extensions/BugModal/Config.pm |
| 34 | +COPY extensions/InlineHistory/Config.pm /app/extensions/InlineHistory/Config.pm |
| 35 | +COPY extensions/Bitly/Config.pm /app/extensions/Bitly/Config.pm |
| 36 | +COPY extensions/OrangeFactor/Config.pm /app/extensions/OrangeFactor/Config.pm |
| 37 | +COPY extensions/UserStory/Config.pm /app/extensions/UserStory/Config.pm |
| 38 | +COPY extensions/FlagTypeComment/Config.pm /app/extensions/FlagTypeComment/Config.pm |
| 39 | +COPY extensions/SiteMapIndex/Config.pm /app/extensions/SiteMapIndex/Config.pm |
| 40 | +COPY extensions/Gravatar/Config.pm /app/extensions/Gravatar/Config.pm |
| 41 | +COPY extensions/BMO/Config.pm /app/extensions/BMO/Config.pm |
| 42 | +COPY extensions/MozProjectReview/Config.pm /app/extensions/MozProjectReview/Config.pm |
| 43 | +COPY extensions/RequestNagger/Config.pm /app/extensions/RequestNagger/Config.pm |
| 44 | +COPY extensions/Splinter/Config.pm /app/extensions/Splinter/Config.pm |
| 45 | +COPY extensions/Splinter/lib/Config.pm /app/extensions/Splinter/lib/Config.pm |
| 46 | +COPY extensions/UserProfile/Config.pm /app/extensions/UserProfile/Config.pm |
| 47 | +COPY extensions/Voting/Config.pm /app/extensions/Voting/Config.pm |
| 48 | +COPY extensions/GoogleAnalytics/Config.pm /app/extensions/GoogleAnalytics/Config.pm |
| 49 | +COPY extensions/GoogleAnalytics/lib/Config.pm /app/extensions/GoogleAnalytics/lib/Config.pm |
| 50 | +COPY extensions/Example/Config.pm /app/extensions/Example/Config.pm |
| 51 | +COPY extensions/Example/disabled /app/extensions/Example/disabled |
| 52 | +COPY extensions/Example/lib/Config.pm /app/extensions/Example/lib/Config.pm |
| 53 | +COPY extensions/MyDashboard/Config.pm /app/extensions/MyDashboard/Config.pm |
| 54 | +COPY extensions/Needinfo/Config.pm /app/extensions/Needinfo/Config.pm |
| 55 | +COPY extensions/LastResolved/Config.pm /app/extensions/LastResolved/Config.pm |
| 56 | +COPY extensions/GuidedBugEntry/Config.pm /app/extensions/GuidedBugEntry/Config.pm |
| 57 | +COPY extensions/PhabBugz/Config.pm /app/extensions/PhabBugz/Config.pm |
| 58 | +COPY extensions/PhabBugz/lib/Config.pm /app/extensions/PhabBugz/lib/Config.pm |
| 59 | +COPY extensions/REMO/Config.pm /app/extensions/REMO/Config.pm |
| 60 | +COPY extensions/ZPushNotify/Config.pm /app/extensions/ZPushNotify/Config.pm |
| 61 | +COPY extensions/ProdCompSearch/Config.pm /app/extensions/ProdCompSearch/Config.pm |
| 62 | +COPY extensions/TrackingFlags/Config.pm /app/extensions/TrackingFlags/Config.pm |
| 63 | +COPY extensions/ComponentWatching/Config.pm /app/extensions/ComponentWatching/Config.pm |
| 64 | +COPY extensions/Webhooks/Config.pm /app/extensions/Webhooks/Config.pm |
| 65 | +COPY extensions/Webhooks/lib/Config.pm /app/extensions/Webhooks/lib/Config.pm |
| 66 | +COPY extensions/OldBugMove/Config.pm /app/extensions/OldBugMove/Config.pm |
| 67 | +COPY extensions/OldBugMove/disabled /app/extensions/OldBugMove/disabled |
| 68 | +RUN perl Makefile.PL && \ |
| 69 | + cpanm --notest Module::CPANfile && \ |
| 70 | + make cpanfile && \ |
| 71 | + cpanm --notest App::cpm && \ |
| 72 | + apt-get update -y && \ |
| 73 | + apt-get install -y libssl-dev libxml2-dev libexpat1-dev build-essential && \ |
| 74 | + apt-get install -y default-libmysqlclient-dev && \ |
| 75 | + cpm install --show-build-log-on-failure && \ |
| 76 | + apt-get install -y apt-file && \ |
| 77 | + apt-file update && \ |
| 78 | + find local/lib -name '*.so' -exec ldd {} \; | awk '/=>/ {print $3}'|sort -u |xargs -IFILENAME apt-file search FILENAME | awk -F': ' '{print $1}'|sort -u > PACKAGES; |
| 79 | +FROM perl:5.36.0-slim |
| 80 | +WORKDIR /app |
| 81 | +COPY --from=builder /app/PACKAGES /app/PACKAGES |
| 82 | +RUN apt-get update -y && apt-get install -y $(cat PACKAGES) |
| 83 | +COPY --from=builder /app/local /app/local |
| 84 | +COPY ./ /app/ |
| 85 | +env LOCALCONFIG_ENV 1 |
| 86 | +ENTRYPOINT ["perl", "bugzilla.pl"] |
| 87 | +CMD ["daemon"] |
0 commit comments