Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Refactoring of dockerfiles#215

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
Show all changes
10 commits
Select commitHold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions.travis.yml
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -8,11 +8,10 @@ services:
- docker

install:
- ./mk_dockerfile.sh
- docker-compose build
- docker build --build-arg PG_VERSION="${PG_VERSION}" --build-arg PYTHON_VERSION="${PYTHON_VERSION}" -t tests -f Dockerfile--${TEST_PLATFORM}.tmpl .

script:
- docker-compose run $(bash <(curl -s https://codecov.io/env)) tests
- docker run $(bash <(curl -s https://codecov.io/env)) -t tests

notifications:
email:
Expand All@@ -27,5 +26,5 @@ env:
- TEST_PLATFORM=std PYTHON_VERSION=3 PG_VERSION=12
- TEST_PLATFORM=std PYTHON_VERSION=3 PG_VERSION=11
- TEST_PLATFORM=std PYTHON_VERSION=3 PG_VERSION=10
- TEST_PLATFORM=std.all PYTHON_VERSION=3 PG_VERSION=17
- TEST_PLATFORM=ubuntu-24_04 PYTHON_VERSION=3 PG_VERSION=17
- TEST_PLATFORM=std-all PYTHON_VERSION=3 PG_VERSION=17
- TEST_PLATFORM=ubuntu_24_04 PYTHON_VERSION=3 PG_VERSION=17
31 changes: 19 additions & 12 deletionsDockerfile--std.all.tmpl → Dockerfile--std-all.tmpl
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
FROM postgres:${PG_VERSION}-alpine

ENV PYTHON=python${PYTHON_VERSION}
RUN if [ "${PYTHON_VERSION}" = "2" ] ; then \
apk add --no-cache curl python2 python2-dev build-base musl-dev \
linux-headers py-virtualenv py-pip; \
fi
RUN if [ "${PYTHON_VERSION}" = "3" ] ; then \
apk add --no-cache curl python3 python3-dev build-base musl-dev \
linux-headers py-virtualenv; \
fi
ARG PG_VERSION
ARG PYTHON_VERSION

# --------------------------------------------- base1
FROM postgres:${PG_VERSION}-alpine as base1

# --------------------------------------------- base2_with_python-2
FROM base1 as base2_with_python-2
RUN apk add --no-cache curl python2 python2-dev build-base musl-dev linux-headers py-virtualenv py-pip
ENV PYTHON_VERSION=2

# --------------------------------------------- base2_with_python-3
FROM base1 as base2_with_python-3
RUN apk add --no-cache curl python3 python3-dev build-base musl-dev linux-headers py-virtualenv
ENV PYTHON_VERSION=3

# --------------------------------------------- final
FROM base2_with_python-${PYTHON_VERSION} as final

#RUN apk add --no-cache mc

Expand DownExpand Up@@ -57,4 +64,4 @@ ls -la ~/.ssh/; \
sudo /usr/sbin/sshd; \
ssh-keyscan -H localhost >> ~/.ssh/known_hosts; \
ssh-keyscan -H 127.0.0.1 >> ~/.ssh/known_hosts; \
TEST_FILTER=\"\"PYTHON_VERSION=${PYTHON_VERSION}bash run_tests.sh;"
TEST_FILTER=\"\" bash run_tests.sh;"
30 changes: 19 additions & 11 deletionsDockerfile--std.tmpl
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,27 @@
FROM postgres:${PG_VERSION}-alpine
ARG PG_VERSION
ARG PYTHON_VERSION

# --------------------------------------------- base1
FROM postgres:${PG_VERSION}-alpine as base1

# --------------------------------------------- base2_with_python-2
FROM base1 as base2_with_python-2
RUN apk add --no-cache curl python2 python2-dev build-base musl-dev linux-headers py-virtualenv py-pip
ENV PYTHON_VERSION=2

# --------------------------------------------- base2_with_python-3
FROM base1 as base2_with_python-3
RUN apk add --no-cache curl python3 python3-dev build-base musl-dev linux-headers py-virtualenv
ENV PYTHON_VERSION=3

# --------------------------------------------- final
FROM base2_with_python-${PYTHON_VERSION} as final

ENV PYTHON=python${PYTHON_VERSION}
RUN if [ "${PYTHON_VERSION}" = "2" ] ; then \
apk add --no-cache curl python2 python2-dev build-base musl-dev \
linux-headers py-virtualenv py-pip; \
fi
RUN if [ "${PYTHON_VERSION}" = "3" ] ; then \
apk add --no-cache curl python3 python3-dev build-base musl-dev \
linux-headers py-virtualenv; \
fi
ENV LANG=C.UTF-8

ADD . /pg/testgres
WORKDIR /pg/testgres
RUN chown -R postgres:postgres /pg

USER postgres
ENTRYPOINTPYTHON_VERSION=${PYTHON_VERSION}bash run_tests.sh
ENTRYPOINT bash run_tests.sh
41 changes: 27 additions & 14 deletionsDockerfile--ubuntu-24_04.tmpl → Dockerfile--ubuntu_24_04.tmpl
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
FROM ubuntu:24.04
ARG PG_VERSION
ARG PYTHON_VERSION

# --------------------------------------------- base1
FROM ubuntu:24.04 as base1
ARG PG_VERSION

RUN apt update
RUN apt install -y sudo curl ca-certificates
RUN apt update
RUN apt install -y openssh-server

RUN apt update
RUN apt install -ysudo curl ca-certificatespostgresql-common
RUN apt install -y postgresql-common

RUN bash /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y

Expand All@@ -14,35 +24,38 @@ RUN curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail http
RUN apt update
RUN apt install -y postgresql-${PG_VERSION}

RUN apt install -y python3 python3-dev python3-virtualenv
# RUN apt install -y mc

# It is required for psycopg2
RUN apt install -y libpq-dev
RUN apt install -y openssh-server

# [2025-02-26] It adds the user 'postgres' in the group 'sudo'
# [2025-02-27] It is not required.
# RUN adduser postgres sudo

ADD . /pg/testgres
WORKDIR /pg/testgres
RUN chown -R postgres /pg

EXPOSE 22

RUN ssh-keygen -A

# It enables execution of "sudo service ssh start" without password
RUN sh -c "echo postgres ALL=NOPASSWD:/usr/sbin/service ssh start" >> /etc/sudoers

USER postgres
# --------------------------------------------- base2_with_python-3
FROM base1 as base2_with_python-3
RUN apt install -y python3 python3-dev python3-virtualenv libpq-dev
ENV PYTHON_VERSION=3

# --------------------------------------------- final
FROM base2_with_python-${PYTHON_VERSION} as final

ADD . /pg/testgres
WORKDIR /pg/testgres
RUN chown -R postgres /pg

ENV LANG=C.UTF-8

USER postgres

RUN chmod 700 ~/
RUN mkdir -p ~/.ssh

#ENTRYPOINT PYTHON_VERSION=3.12 /run.sh
ENTRYPOINT sh -c " \
#set -eux; \
echo HELLO FROM ENTRYPOINT; \
Expand All@@ -55,4 +68,4 @@ ssh-keygen -t rsa -f ~/.ssh/id_rsa -q -N ''; \
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys; \
chmod 600 ~/.ssh/authorized_keys; \
ls -la ~/.ssh/; \
TEST_FILTER=\"\"PYTHON_VERSION=${PYTHON_VERSION}bash run_tests.sh;"
TEST_FILTER=\"\" bash./run_tests.sh;"
4 changes: 0 additions & 4 deletionsdocker-compose.yml
View file
Open in desktop

This file was deleted.

2 changes: 0 additions & 2 deletionsmk_dockerfile.sh
View file
Open in desktop

This file was deleted.


[8]ページ先頭

©2009-2025 Movatter.jp