From 47f71fb20f21fc347e36f1d86755cf201e71482f Mon Sep 17 00:00:00 2001 From: Administrator Date: Sat, 13 Aug 2022 14:59:00 +0300 Subject: [PATCH] initial --- .deploy/deploy-dev.yaml | 18 ++++++++++++++++++ .deploy/deploy-prod.yaml | 18 ++++++++++++++++++ .gitlab-ci.yml | 24 ++++++++++++++++++++++++ nginx_dev/nginx.conf | 22 ++++++++++++++++++++++ nginx_prod/nginx.conf | 31 +++++++++++++++++++++++++++++++ 5 files changed, 113 insertions(+) create mode 100644 .deploy/deploy-dev.yaml create mode 100644 .deploy/deploy-prod.yaml create mode 100644 .gitlab-ci.yml create mode 100644 nginx_dev/nginx.conf create mode 100644 nginx_prod/nginx.conf diff --git a/.deploy/deploy-dev.yaml b/.deploy/deploy-dev.yaml new file mode 100644 index 0000000..9c8e680 --- /dev/null +++ b/.deploy/deploy-dev.yaml @@ -0,0 +1,18 @@ +version: "3.6" +services: + nginx: + image: nginx + volumes: + - ./nginx_dev:/etc/nginx + ports: + - "80:80" + deploy: + mode: replicated + replicas: 1 + restart_policy: + condition: any + placement: + constraints: [node.role == manager] + update_config: + parallelism: 1 + order: start-first \ No newline at end of file diff --git a/.deploy/deploy-prod.yaml b/.deploy/deploy-prod.yaml new file mode 100644 index 0000000..14f3f7b --- /dev/null +++ b/.deploy/deploy-prod.yaml @@ -0,0 +1,18 @@ +version: "3.6" +services: + nginx: + image: nginx + volumes: + - ./nginx_prod:/etc/nginx + ports: + - "80:80" + deploy: + mode: replicated + replicas: 2 + restart_policy: + condition: any + placement: + constraints: [node.role == manager] + update_config: + parallelism: 1 + order: start-first \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..f479bbc --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,24 @@ +stages: + - deploy-dev + - deploy-prod + +deploy-dev: + stage: deploy-dev + tags: + - demo + rules: + - if: '$CI_COMMIT_BRANCH == "master"' + when: on_success + - when: manual + script: + - docker stack deploy -c ./.deploy/deploy-dev.yaml infra + +deploy-prod: + stage: deploy-prod + tags: + - main + only: + - master + when: manual + script: + - docker stack deploy -c ./.deploy/deploy-prod.yaml infra \ No newline at end of file diff --git a/nginx_dev/nginx.conf b/nginx_dev/nginx.conf new file mode 100644 index 0000000..34d6222 --- /dev/null +++ b/nginx_dev/nginx.conf @@ -0,0 +1,22 @@ +events {} + +http { + client_max_body_size 50m; + server { + listen 80; + server_name dev.develop.sprinthub.ru www.dev.develop.sprinthub.ru; + + location / { + proxy_pass http://dev.develop.sprinthub.ru:1235/; + } + } + + server { + listen 80; + server_name swarmpit.develop.sprinthub.ru www.swarmpit.develop.sprinthub.ru; + + location / { + proxy_pass http://dev.develop.sprinthub.ru:888/; + } + } +} \ No newline at end of file diff --git a/nginx_prod/nginx.conf b/nginx_prod/nginx.conf new file mode 100644 index 0000000..a604fce --- /dev/null +++ b/nginx_prod/nginx.conf @@ -0,0 +1,31 @@ +events {} + +http { + client_max_body_size 50m; + server { + listen 80; + server_name dev.sprinthub.ru www.dev.sprinthub.ru; + + location / { + proxy_pass http://dev.sprinthub.ru:1235/; + } + } + + server { + listen 80; + server_name gitlab.sprinthub.ru www.gitlab.sprinthub.ru; + + location / { + proxy_pass http://dev.sprinthub.ru:1234/; + } + } + + server { + listen 80; + server_name swarmpit.sprinthub.ru www.swarmpit.sprinthub.ru; + + location / { + proxy_pass http://dev.sprinthub.ru:888/; + } + } +} \ No newline at end of file