From 93d59a9b3786380adb844eb9ad1119410b4ef5fd Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Thu, 9 Apr 2020 09:30:52 -0700 Subject: [PATCH] Initial pipeline for 10.0 --- .dockerignore | 1 + .gitlab-ci.yml | 61 +++++++++++++++++++++++++++++++++++++++++++++++ Dockerfile | 8 +++++++ Dockerfile-GitLab | 8 +++++++ debian/odoo.conf | 37 ++++++++++++++++++++++++++++ 5 files changed, 115 insertions(+) create mode 100644 .dockerignore create mode 100644 .gitlab-ci.yml create mode 100644 Dockerfile create mode 100644 Dockerfile-GitLab create mode 100644 debian/odoo.conf diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..6b8710a7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +.git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..a85a9629 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,61 @@ +image: docker:stable +services: + - docker:dind + +stages: + - build + - trigger + +variables: + DOCKER_HOST: tcp://docker:2375 + DOCKER_DRIVER: overlay2 + CONTAINER_IMAGE: registry.gitlab.com/hibou-io/hibou-odoo/suite + GITLAB_BASE_URL: https://gitlab.com + ENTERPRISE_PROJECT_ID: 10004796 + +before_script: + - RELEASE=$(echo $CI_COMMIT_REF_NAME | sed "s{.*\/\(.*\)\/.*{\1{g") + - IMAGE_TAG=$(echo $CI_COMMIT_REF_SLUG | sed "s/^\([[:digit:]][[:digit:]]\)-\([[:digit:]]\)/\1\.\2/g") + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com + +merge_request: + variables: + GIT_STRATEGY: none + stage: build + only: + - /(^new\/)|(^mig\/)|(^imp\/)|(^fix\/)/ + script: + - docker pull registry.gitlab.com/hibou-io/hibou-odoo/flow + - docker tag registry.gitlab.com/hibou-io/hibou-odoo/flow flow + - ENVS=`env | grep "CI_\|GITLAB_" | sed -n '/^[^\t]/s/=.*//p' | sed '/^$/d' | sed 's/^/-e /g' | tr '\n' ' '` + - docker run $ENVS flow gitlab-automerge --target-branch "${RELEASE}-test" --automerge + - docker run $ENVS flow gitlab-automerge --remove-source + +build: + variables: + GIT_SUBMODULE_STRATEGY: recursive + stage: build + script: + - sed -i "s/RELEASE/$RELEASE/g" Dockerfile-GitLab + - docker build --pull -t $CONTAINER_IMAGE:$IMAGE_TAG -f Dockerfile-GitLab . + - docker push $CONTAINER_IMAGE:$IMAGE_TAG + +publish: + stage: build + script: + - docker pull registry.gitlab.com/hibou-io/hibou-odoo/flow + - docker tag registry.gitlab.com/hibou-io/hibou-odoo/flow flow + - ENVS=`env | grep "CI_\|GITLAB_" | sed -n '/^[^\t]/s/=.*//p' | sed '/^$/d' | sed 's/^/-e /g' | tr '\n' ' '` + - docker run -v $PWD:/src $ENVS flow odoo-publish -n "Hibou Odoo Suite" -v $RELEASE + only: + - /^\d\d\.\d/ + +trigger: + variables: + GIT_STRATEGY: none + stage: trigger + script: + - docker run byrnedo/alpine-curl curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=$RELEASE $GITLAB_BASE_URL/api/v4/projects/$ENTERPRISE_PROJECT_ID/trigger/pipeline + only: + - /^\d\d\.\d/ + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..3ed4f27a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM hibou/hibou-odoo:10.0 + +USER 104 +COPY --chown=104 . /opt/odoo/hibou-suite +RUN rm /etc/odoo/odoo.conf \ + && cp /opt/odoo/hibou-suite/debian/odoo.conf /etc/odoo/odoo.conf \ + ; + diff --git a/Dockerfile-GitLab b/Dockerfile-GitLab new file mode 100644 index 00000000..71144c8c --- /dev/null +++ b/Dockerfile-GitLab @@ -0,0 +1,8 @@ +FROM registry.gitlab.com/hibou-io/hibou-odoo/odoo:RELEASE + +USER 104 +COPY --chown=104 . /opt/odoo/hibou-suite +RUN rm /etc/odoo/odoo.conf \ + && cp /opt/odoo/hibou-suite/debian/odoo.conf /etc/odoo/odoo.conf \ + ; + diff --git a/debian/odoo.conf b/debian/odoo.conf new file mode 100644 index 00000000..adeec2eb --- /dev/null +++ b/debian/odoo.conf @@ -0,0 +1,37 @@ +[options] +addons_path = /opt/odoo/hibou-suite,/opt/odoo/odoo/addons +data_dir = /var/lib/odoo +; admin_passwd = admin +; csv_internal_sep = , +; db_maxconn = 64 +; db_name = False +; db_template = template1 +; dbfilter = .* +; debug_mode = False +; email_from = False +; limit_memory_hard = 2684354560 +; limit_memory_soft = 2147483648 +; limit_request = 8192 +; limit_time_cpu = 60 +; limit_time_real = 120 +; list_db = True +; log_db = False +; log_handler = [':INFO'] +; log_level = info +; logfile = None +; longpolling_port = 8072 +; max_cron_threads = 2 +; osv_memory_age_limit = 1.0 +; osv_memory_count_limit = False +; smtp_password = False +; smtp_port = 25 +; smtp_server = localhost +; smtp_ssl = False +; smtp_user = False +; workers = 0 +; xmlrpc = True +; xmlrpc_interface = +; xmlrpc_port = 8069 +; xmlrpcs = True +; xmlrpcs_interface = +; xmlrpcs_port = 8071