Commit 60a98f47 authored by Yuanle Song's avatar Yuanle Song
Browse files

v1.1.0 add docker support

run "make docker" to create a docker image.

docker image is based on debian stretch image and just install the deb
file. This doesn't change the dev workflow. Your venv, pip still work as
before.
parent 97d3160b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
(defproject python/lein-template "1.0.0"
(defproject python/lein-template "1.1.0"
  :description "lein template for a python project"
  :repositories [["snapshots"
                  {:url "http://devserv.game.yy.com/nexus/content/repositories/snapshots"
+2 −1
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@
                        "requirements.txt"
                        "requirements-dev.txt"
                        "setup.py"
                        "Dockerfile.template"
                        "README.rst"
                        "utils/versionutils.py"
                        "utils/build-deb"
@@ -64,7 +65,7 @@
                        "git-hooks/pre-commit"
                        ".gitignore"]
        plain-files ["utils/__init__.py"
                     "utils/choose_default_python.py"
                     "utils/choose_default_python.sh"
                     "utils/virtualenv-15.1.0/virtualenv.py"
                     "utils/virtualenv-15.1.0/virtualenv_support/argparse-1.4.0-py2.py3-none-any.whl"
                     "utils/virtualenv-15.1.0/virtualenv_support/setuptools-28.8.0-py2.py3-none-any.whl"
+2 −0
Original line number Diff line number Diff line
@@ -18,3 +18,5 @@ __pycache__/
doc/_build/
TAGS
# ENG regular python ignore list
Dockerfile
.dockerignore
+14 −0
Original line number Diff line number Diff line
FROM sylecn/debian:stretch-slim-cn

#LABEL description="TODO add image description and uncomment this"

RUN set -x \
    && apt-get update \
    && apt-get install -y --no-install-recommends --no-install-suggests \
       DEPENDS \
    && rm -rf /var/lib/apt/lists/*

COPY DEB_PKG /
RUN ["dpkg", "-i", "DEB_PKG"]
CMD ["make", "run", "-C", "/opt/{{name}}"]
#EXPOSE 8082
+6 −1
Original line number Diff line number Diff line
@@ -7,13 +7,15 @@ PEP8 := env PYTHONPATH=$(PYTHONPATH) $(VENV)/bin/pep8 --repeat --ignore=E202,E50
PYTHON := env PYTHONPATH=$(PYTHONPATH) $(VENV)/bin/python
PIP := $(VENV)/bin/pip

DEFAULT_PYTHON := $(shell ./utils/choose_default_python.py)
DEFAULT_PYTHON := $(shell ./utils/choose_default_python.sh)
VIRTUALENV := ./utils/virtualenv-15.1.0/virtualenv.py

REQUIREMENTS := -r requirements.txt
DEV_REQUIREMENTS := -r requirements-dev.txt

VERSION := $(shell grep '__version__' {{python-pkg-name}}/__init__.py |cut -d'"' -f 2)
# docker hub user name or private registry URL with username.
DOCKER_IMAGE_PREFIX := sylecn

default: check-coding-style
build:
@@ -49,6 +51,9 @@ install: bootstrap
	$(PIP) install -q --no-index .
uninstall: bootstrap
	$(PIP) uninstall -q -y {{python-pkg-name}}
docker: deb
	docker build -t $(DOCKER_IMAGE_PREFIX)/{{name}}:$(VERSION) .
	@echo "You may push it with: docker push $(DOCKER_IMAGE_PREFIX)/{{name}}:$(VERSION)"
deb:
	utils/build-deb
pipfreeze:
Loading