Skip to content

Commit e2292da

Browse files
committed
build: upgrade postgres 9.6 to 10.10
1 parent 0fee65b commit e2292da

2 files changed

Lines changed: 55 additions & 30 deletions

File tree

Dockerfile

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,35 @@
1-
FROM alpine:3.6
1+
ARG alpine_version
2+
FROM alpine:${alpine_version}
23

3-
ARG pg_alpine_branch
4-
ARG pg_version
4+
ARG alpine_version
5+
ARG pg_package_version
56

6-
# python for aws-cli, for s3 uploading, jq for dealing with AWS Cli
7-
RUN apk --no-cache add python py-pip jq && \
8-
pip install awscli && \
9-
apk --purge -v del py-pip
7+
#--------------------------------------------------------------------------------
8+
# Install dependencies
9+
#--------------------------------------------------------------------------------
10+
# "postgresql" is required for "pg_restore"
11+
# "py-pip" is required for "aws-cli"
12+
#--------------------------------------------------------------------------------
13+
RUN echo "http://dl-cdn.alpinelinux.org/alpine/v${alpine_version}/main" >> /etc/apk/repositories
1014

11-
# postgresql for pg_dump
12-
RUN echo "http://dl-cdn.alpinelinux.org/alpine/${pg_alpine_branch}/main" >> /etc/apk/repositories
13-
RUN echo ${pg_version}; apk --no-cache add postgresql=${pg_version}
15+
RUN apk --no-cache --update add dumb-init postgresql=${pg_package_version} curl python3 && \
16+
curl https://bootstrap.pypa.io/get-pip.py | python3 && \
17+
pip install awscli && \
18+
rm -f /usr/bin/pip && \
19+
apk --purge -v del curl
1420

21+
#--------------------------------------------------------------------------------
22+
# Set script permissions and create required directories
23+
#--------------------------------------------------------------------------------
1524
COPY action.sh /
1625
RUN chmod +x action.sh
1726

27+
#--------------------------------------------------------------------------------
28+
# Use the `dumb-init` init system (PID 1) for process handling
29+
#--------------------------------------------------------------------------------
30+
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
31+
32+
#--------------------------------------------------------------------------------
33+
# Configure and apply a cronjob
34+
#--------------------------------------------------------------------------------
1835
CMD echo "${CRON_MINUTE:-$(shuf -i 0-59 -n1)} ${CRON_HOUR:-*} * * * /action.sh" > /var/spool/cron/crontabs/root && crond -d 8 -f

build_push.sh

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,31 @@
1-
#! /bin/sh
1+
#!/usr/bin/env sh
22

3-
builds=$(echo '
4-
9.6.10 9.6.10-r0 v3.6
5-
#9.6.3 9.6.3-r0 v3.6
6-
9.6 9.6.10-r0 v3.6
7-
9 9.6.10-r0 v3.6
8-
latest 9.6.10-r0 v3.6
9-
#9.5.7 9.5.7-r0 v3.4
10-
#9.5 9.5.7-r0 v3.4
11-
' | grep -v '^#' | tr -s ' ')
3+
alpine_version='3.8'
4+
legacy_image=false
5+
pg_major_version='10'
6+
pg_package_version='10.10'
127

13-
IFS=$'\n'
14-
for build in $builds; do
15-
tag=$(echo $build | cut -d ' ' -f 1 )
16-
pgVersion=$(echo $build | cut -d ' ' -f 2)
17-
pgAlpineBranch=$(echo $build | cut -d ' ' -f 3)
18-
19-
echo docker build --tag bluedrop360/postgres-dump-to-s3:$tag --build-arg pg_version="$pgVersion" --build-arg pg_alpine_branch=$pgAlpineBranch .
20-
eval docker build --tag bluedrop360/postgres-dump-to-s3:$tag --build-arg pg_version="$pgVersion" --build-arg pg_alpine_branch=$pgAlpineBranch .
21-
echo docker push bluedrop360/postgres-dump-to-s3:$tag
22-
eval docker push bluedrop360/postgres-dump-to-s3:$tag
8+
builds=\
9+
"${pg_package_version}_${pg_package_version}-r0_${alpine_version}",\
10+
"${pg_major_version}_${pg_package_version}-r0_${alpine_version}"
11+
12+
if [ "${legacy_image}" = 'false' ]; then
13+
builds="${builds}","latest_${pg_package_version}-r0_${alpine_version}"
14+
fi
15+
16+
echo $builds | tr ',' '\n' | while read build; do
17+
alpine_version=$(echo "${build}" | cut -d '_' -f 3)
18+
pg_dump_to_s3_tag=$(echo "${build}" | cut -d '_' -f 1 )
19+
pg_package_version=$(echo "${build}" | cut -d '_' -f 2)
20+
21+
echo ""
22+
echo "--------------------------------"
23+
echo "POSTGRES-DUMP-TO-S3 TAG: ${pg_dump_to_s3_tag}"
24+
echo "POSTGRES PACKAGE VERSION: ${pg_package_version}"
25+
echo "--------------------------------"
26+
27+
echo docker build --tag bluedrop360/postgres-dump-to-s3:$pg_dump_to_s3_tag --build-arg pg_package_version=$pg_package_version --build-arg alpine_version="${alpine_version}" .
28+
eval docker build --tag bluedrop360/postgres-dump-to-s3:$pg_dump_to_s3_tag --build-arg pg_package_version=$pg_package_version --build-arg alpine_version="${alpine_version}" . || exit 1
29+
echo docker push bluedrop360/postgres-dump-to-s3:$pg_dump_to_s3_tag
30+
eval docker push bluedrop360/postgres-dump-to-s3:$pg_dump_to_s3_tag || exit 1
2331
done

0 commit comments

Comments
 (0)