Browse Source

Refatora arquivos Docker

pull/3264/head
eribeiro 5 years ago
parent
commit
8c37058dcf
  1. 49
      .travis.yml
  2. 19
      docker/Dockerfile
  3. 0
      docker/busy-wait.sh
  4. 0
      docker/check_solr.sh
  5. 2
      docker/config/env-sample
  6. 2
      docker/config/env_dockerfile
  7. 9
      docker/config/env_test
  8. 0
      docker/config/nginx/nginx.conf
  9. 0
      docker/config/nginx/sapl.conf
  10. 0
      docker/create_admin.py
  11. 0
      docker/docker-compose-dev.yml
  12. 13
      docker/docker-compose.yml
  13. 0
      docker/docker-env.sh
  14. 0
      docker/genkey.py
  15. 0
      docker/gunicorn_start.sh
  16. 0
      docker/scripts_docker/remove-all-containers.sh
  17. 0
      docker/scripts_docker/remove-db.sh
  18. 0
      docker/scripts_docker/restore-db.sh
  19. 0
      docker/scripts_docker/shell_sapl.sh
  20. 0
      docker/simple_gunicorn.sh
  21. 0
      docker/solr_api.py
  22. 0
      docker/start.sh
  23. 49
      health_check.py
  24. 4
      release.sh
  25. 2
      sapl/.env_test

49
.travis.yml

@ -1,25 +1,38 @@
language: python
python:
- 3.6
sudo: required
services:
- postgresql
- docker
install:
- pip install -r requirements/test-requirements.txt
env:
global:
- DOCKER_COMPOSE_VERSION=1.26.2
before_script:
- cp sapl/.env_test sapl/.env
- psql -c "CREATE USER sapl WITH PASSWORD 'sapl'" -U postgres;
- psql -c "CREATE DATABASE sapl OWNER sapl;" -U postgres
- ./scripts/django/check_migrations.sh
before_install:
# Install latest versions of docker and docker-compose
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- sudo apt-get update
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
- sudo rm /usr/local/bin/docker-compose
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
- chmod +x docker-compose
- sudo mv docker-compose /usr/local/bin
- docker --version
- docker-compose --version
install:
- sudo service postgresql stop || true
script:
- ./manage.py migrate
- py.test --create-db
# - ./scripts/django/test_and_check_qa.sh
- cd $TRAVIS_BUILD_DIR/docker
# Build master images and run the webserver (tests end to end)
#- docker-compose -f docker-compose.test.yml build
#- docker-compose up -d
#- docker logs sapl
#- docker-compose rm -f -s -v
- docker-compose -f docker-compose.yml run --workdir="/var/interlegis/sapl" sapl bash -c "cp docker/config/env_test .env && py.test --create-db"
addons:
hosts:
- 127.0.0.1 sapldb
after_script:
# Cleanup docker containers, images, and volumes
- docker-compose rm -f -s -v
- docker system prune -a -f --volumes

19
Dockerfile → docker/Dockerfile

@ -33,11 +33,20 @@ RUN apt-get update && \
SUDO_FORCE_REMOVE=yes apt-get purge -y --auto-remove $BUILD_PACKAGES && \
apt-get autoremove && apt-get clean && rm -rf /var/lib/apt/lists/*
COPY start.sh /var/interlegis/sapl/
COPY config/nginx/sapl.conf /etc/nginx/conf.d
COPY config/nginx/nginx.conf /etc/nginx/nginx.conf
COPY config/env_dockerfile /var/interlegis/sapl/sapl/.env
ENV HOME=/var/interlegis/sapl
COPY docker/start.sh $HOME
COPY docker/check_solr.sh $HOME
COPY docker/solr_api.py $HOME
COPY docker/busy-wait.sh $HOME
COPY docker/create_admin.py $HOME
COPY docker/genkey.py $HOME
COPY docker/gunicorn_start.sh $HOME
COPY docker/config/env_test $HOME
COPY docker/config/nginx/sapl.conf /etc/nginx/conf.d
COPY docker/config/nginx/nginx.conf /etc/nginx/nginx.conf
COPY docker/config/env_dockerfile /var/interlegis/sapl/sapl/.env
RUN python3 manage.py collectstatic --noinput --clear

0
busy-wait.sh → docker/busy-wait.sh

0
check_solr.sh → docker/check_solr.sh

2
config/env-sample → docker/config/env-sample

@ -1,5 +1,5 @@
DATABASE_URL = postgresql://postgres:@sapldb:/sapl
KEY
SECRET_KEY = 'mzp++@i1y-6y8ez_=^sfbr!dzuyry#^@v(3g^2d1k9%f=+mhlb'
DEBUG = False
EMAIL_USE_TLS = True
EMAIL_PORT = 587

2
config/env_dockerfile → docker/config/env_dockerfile

@ -1,5 +1,5 @@
DATABASE_URL = sqlite:///sapl.db
SECRET_KEY = 'Dockerfile_Key'
SECRET_KEY = 'mzp++@i1y-6y8ez_=^sfbr!dzuyry#^@v(3g^2d1k9%f=+mhlb'
DEBUG = False
EMAIL_USE_TLS = True
EMAIL_PORT = 587

9
docker/config/env_test

@ -0,0 +1,9 @@
DATABASE_URL=postgresql://postgres:@sapldb:/sapl
SECRET_KEY=test++@i1y-6y8ez_=^sfbr!dzuyry#^@v(3g^2d1k9%f=+mhlb
DEBUG=False
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST = ''
EMAIL_HOST_USER = ''
EMAIL_SEND_USER = ''
EMAIL_HOST_PASSWORD = ''

0
config/nginx/nginx.conf → docker/config/nginx/nginx.conf

0
config/nginx/sapl.conf → docker/config/nginx/sapl.conf

0
create_admin.py → docker/create_admin.py

0
docker-compose-dev.yml → docker/docker-compose-dev.yml

13
docker-compose.yml → docker/docker-compose.yml

@ -3,6 +3,9 @@ services:
sapldb:
image: postgres:10.5-alpine
restart: always
container_name: postgres
labels:
NAME: "postgres"
environment:
POSTGRES_PASSWORD: sapl
POSTGRES_USER: sapl
@ -18,6 +21,9 @@ services:
image: solr:8.3
restart: always
command: bin/solr start -c -f
container_name: solr
labels:
NAME: "solr"
volumes:
- solr_data:/opt/solr/server/solr
- solr_configsets:/opt/solr/server/solr/configsets
@ -27,7 +33,12 @@ services:
- sapl-net
sapl:
image: interlegis/sapl:3.1.161-RC13
#build: .
build:
context: ../
dockerfile: ./docker/Dockerfile
container_name: sapl
labels:
NAME: "sapl"
restart: always
environment:
ADMIN_PASSWORD: interlegis

0
docker-env.sh → docker/docker-env.sh

0
genkey.py → docker/genkey.py

0
gunicorn_start.sh → docker/gunicorn_start.sh

0
scripts_docker/remove-all-containers.sh → docker/scripts_docker/remove-all-containers.sh

0
scripts_docker/remove-db.sh → docker/scripts_docker/remove-db.sh

0
scripts_docker/restore-db.sh → docker/scripts_docker/restore-db.sh

0
scripts_docker/shell_sapl.sh → docker/scripts_docker/shell_sapl.sh

0
simple_gunicorn.sh → docker/simple_gunicorn.sh

0
solr_api.py → docker/solr_api.py

0
start.sh → docker/start.sh

49
health_check.py

@ -1,49 +0,0 @@
from flask import Flask
import requests
import psycopg2
import json
from sapl.settings import DATABASES, USE_SOLR, SOLR_URL
app = Flask(__name__)
@app.route('/health')
def health():
try:
db = DATABASES['default']
conn = psycopg2.connect(host=db['HOST'],
user=db['USER'],
password=db['PASSWORD'],
database=db['NAME'],
port=db['PORT'])
cursor = conn.cursor()
cursor.execute("SELECT 1;")
resp = {'DATABASE': 'OK'}
except Exception as e:
resp = {'DATABASE': 'ERROR'}
finally:
if cursor:
cursor.close()
conn.close()
if USE_SOLR:
r = requests.get(SOLR_URL)
if r.ok:
resp.update({'SEARCH_ENGINE': 'OK'})
else:
resp.update({'SEARCH_ENGINE': 'ERROR'})
else:
resp.update({'SEARCH_ENGINE': 'NOT_ENABLED'})
return json.dumps(resp)
@app.route('/ping')
def ping():
return "pong"
if __name__ == '__main__':
app.run()

4
release.sh

@ -30,11 +30,11 @@ FINAL_VERSION=
function change_files {
OLD_VERSION=$(grep -E 'interlegis/sapl:'$VERSION_PATTERN docker-compose.yml | cut -d':' -f3)
OLD_VERSION=$(grep -E 'interlegis/sapl:'$VERSION_PATTERN docker/docker-compose.yml | cut -d':' -f3)
echo "Atualizando de "$OLD_VERSION" para "$FINAL_VERSION
sed -E -i "s|$OLD_VERSION|$FINAL_VERSION|g" docker-compose.yml
sed -E -i "s|$OLD_VERSION|$FINAL_VERSION|g" docker/docker-compose.yml
sed -E -i "s|$OLD_VERSION|$FINAL_VERSION|g" setup.py

2
sapl/.env_test

@ -1,5 +1,5 @@
DATABASE_URL = postgresql://postgres:@sapldb:/sapl
SECRET_KEY=TravisTest
SECRET_KEY=test++@i1y-6y8ez_=^sfbr!dzuyry#^@v(3g^2d1k9%f=+mhlb
DEBUG=False
EMAIL_USE_TLS = True
EMAIL_PORT = 587

Loading…
Cancel
Save