aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Johannes Christ <[email protected]>2019-03-25 20:32:32 +0100
committerGravatar GitHub <[email protected]>2019-03-25 20:32:32 +0100
commite5d2396390a8b9a79b30f1e7c4bdae52e6340252 (patch)
treeeacca4373b58f0e2a23695e3b2e0c55c4dea227d
parentMerge pull request #150 from python-discord/fix-trace-logging (diff)
parentDocker: Move ENTRYPOINT & CMD to the top (diff)
Merge pull request #155 from python-discord/ci-cleanup
CI & Deployment Cleanup
-rw-r--r--.dockerignore8
-rw-r--r--azure-pipelines.yml30
-rw-r--r--docker/Dockerfile30
-rw-r--r--docker/docker-compose.yml3
4 files changed, 37 insertions, 34 deletions
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 00000000..159e4f4c
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,8 @@
+# Exclude everything
+*
+
+# Make exceptions for what's needed
+!bot
+!Pipfile
+!Pipfile.lock
+!LICENSE
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index f81f1139..c98bc4fc 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -1,12 +1,5 @@
# https://aka.ms/yaml
-variables:
- LIBRARY_PATH: /lib:/usr/lib
- PIPENV_HIDE_EMOJIS: 1
- PIPENV_IGNORE_VIRTUALENVS: 1
- PIPENV_NOSPIN: 1
- PIPENV_VENV_IN_PROJECT: 1
-
jobs:
- job: test
displayName: 'Lint & Test'
@@ -15,37 +8,34 @@ jobs:
vmImage: 'Ubuntu 16.04'
variables:
- PIPENV_CACHE_DIR: ".cache/pipenv"
PIP_CACHE_DIR: ".cache/pip"
PIP_SRC: ".cache/src"
+ PIPENV_CACHE_DIR: ".cache/pipenv"
+ PIPENV_DONT_USE_PYENV: 1
+ PIPENV_HIDE_EMOJIS: 1
+ PIPENV_IGNORE_VIRTUALENVS: 1
+ PIPENV_NOSPIN: 1
steps:
- - script: sudo apt-get install build-essential curl docker libffi-dev libfreetype6-dev libxml2 libxml2-dev libxslt1-dev zlib1g zlib1g-dev
- displayName: 'Install base dependencies'
-
- task: UsePythonVersion@0
displayName: 'Set Python version'
inputs:
versionSpec: '3.7.x'
addToPath: true
- - script: sudo pip install pipenv
+ - script: pip3 install pipenv
displayName: 'Install pipenv'
- script: pipenv install --dev --deploy --system
displayName: 'Install project using pipenv'
- - script: python -m flake8
+ - script: python3 -m flake8
displayName: 'Run linter'
- job: build
displayName: 'Build Containers'
dependsOn: 'test'
- variables:
- PIPENV_CACHE_DIR: ".cache/pipenv"
- PIP_CACHE_DIR: ".cache/pip"
-
steps:
- task: Docker@1
displayName: 'Login: Docker Hub'
@@ -55,12 +45,6 @@ jobs:
dockerRegistryEndpoint: 'DockerHub'
command: 'login'
- - script: sudo apt-get install python3-setuptools
- displayName: 'Install setuptools'
-
- - script: sudo pip3 install salt-pepper
- displayName: 'Install pepper'
-
- task: ShellScript@2
displayName: 'Build and deploy containers'
diff --git a/docker/Dockerfile b/docker/Dockerfile
index edeb5b50..1445441c 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -1,15 +1,25 @@
-FROM python:3.7-alpine3.7
-RUN apk add --update libffi-dev tini build-base git jpeg-dev zlib zlib-dev
+FROM python:3.7.2-alpine3.9
-RUN mkdir /bot
-COPY . /bot
-WORKDIR /bot
+ENTRYPOINT ["python"]
+CMD ["-m", "bot"]
-ENV LIBRARY_PATH=/lib:/usr/lib \
- PIPENV_VENV_IN_PROJECT=1
+ENV PIP_NO_CACHE_DIR="false" \
+ PIPENV_DONT_USE_PYENV="1" \
+ PIPENV_HIDE_EMOJIS="1" \
+ PIPENV_IGNORE_VIRTUALENVS="1" \
+ PIPENV_NOSPIN="1"
+RUN apk add --no-cache --update \
+ build-base \
+ git \
+ libffi-dev \
+ # Pillow dependencies
+ freetype-dev \
+ libjpeg-turbo-dev \
+ zlib-dev
RUN pip install pipenv
-RUN pipenv install --deploy --system
-ENTRYPOINT ["/sbin/tini", "--"]
-CMD ["python", "-m", "bot"]
+COPY . /bot
+WORKDIR /bot
+
+RUN pipenv install --deploy --system
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index de1f4cf2..6e274451 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -1,8 +1,9 @@
-version: "3"
+version: "3.7"
services:
dumbo:
image: pythondiscord/seasonalbot:latest
container_name: seasonalbot
+ init: true
restart: always