diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..96807a2 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,46 @@ +include: + - project: "devops/pena-continuous-integration" + file: "/templates/docker/build-template.gitlab-ci.yml" + - project: "devops/pena-continuous-integration" + file: "/templates/docker/clean-template.gitlab-ci.yml" + - project: "devops/pena-continuous-integration" + file: "/templates/docker/deploy-template.gitlab-ci.yml" +stages: + - clean + - build + - deploy + +clear-old-images: + extends: .clean_template + variables: + STAGING_BRANCH: "main" + PRODUCTION_BRANCH: "main" + image: + name: docker/compose:1.28.0 + entrypoint: [""] + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker images + script: + - docker system prune -af +build-app: + extends: .build_template + variables: + DOCKER_BUILD_PATH: "./Dockerfile" + STAGING_BRANCH: "main" + PRODUCTION_BRANCH: "main" + script: + - mkdir -p /kaniko/.docker + - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json + - | + /kaniko/executor --context $CI_PROJECT_DIR \ + --cache=true --cache-repo=$CI_REGISTRY_IMAGE \ + --dockerfile $CI_PROJECT_DIR/$DOCKER_BUILD_PATH --use-new-run --snapshotMode=redo \ + --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID + +deploy-to-staging: + extends: .deploy_template + variables: + DEPLOY_TO: "staging" + BRANCH: "main" + diff --git a/Proxy b/Proxy deleted file mode 100644 index f763fcf..0000000 --- a/Proxy +++ /dev/null @@ -1,5 +0,0 @@ -FROM nginx:latest - -COPY privkey.pem /etc/nginx/ -COPY fullchain.pem /etc/nginx/ -COPY default.conf /etc/nginx/conf.d/ diff --git a/default.conf b/default.conf deleted file mode 100644 index 448b5f5..0000000 --- a/default.conf +++ /dev/null @@ -1,89 +0,0 @@ -server { - root /usr/share/nginx/html; - - index index.html index.htm index.nginx-debian.html; - server_name _; # managed by Certbot - - location /auth { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type always; - return 200; - } - if ($host = admin.pena.digital) { - proxy_pass http://admin-auth-service:8080; - } - if ($host != admin.pena.digital) { - proxy_pass http://pena-auth-service:8080; - } - proxy_hide_header Access-Control-Allow-Origin; - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - } - location /user { - proxy_pass http://pena-auth-service:8080; - } - - location /swagger/ { - proxy_pass http://pena-auth-service:8080/; - } - location /cookie { - add_header Access-Control-Allow-Origin $http_origin; - add_header Access-Control-Allow-Credentials true; - add_header Set-Cookie "test=sameshit;SameSite=None;HttpOnly;Secure;"; - return 200; - } - - location /heruvym/ { - proxy_set_header Referer $host; - proxy_set_header Origin $http_origin; - proxy_set_header Connection ''; - proxy_http_version 1.1; - chunked_transfer_encoding off; - proxy_buffering off; - proxy_cache off; - proxy_pass https://10.6.0.11:1488/; - } - - location /strator/ { - proxy_pass http://hub-admin-backend-service:8005/; - } - location /feedback/ { - proxy_set_header Host $host; - proxy_pass http://10.6.0.31:8006/; - } - - location / { - if ($host = hub.pena.digital) { - proxy_pass http://hub; - } - if ($host = docs.pena.digital) { - proxy_pass http://docs; - } - if ($host = admin.pena.digital) { - proxy_pass http://admin; - } - if ($host = services.pena.digital) { - proxy_pass http://services; - } - if ($host = links.pena.digital) { - proxy_pass http://dwarfener; - } - if ($host = oauth.pena.digital) { - proxy_pass http://pena-social-auth-service:8000; - } - } - - listen [::]:443 ssl ipv6only=on; # managed by Certbot - listen 443 ssl; # managed by Certbot - ssl_certificate /etc/nginx/fullchain.pem; # managed by Certbot - ssl_certificate_key /etc/nginx/privkey.pem; # managed by Certbot - -} -server { - listen 80 ; - listen [::]:80 ; - server_name _; - return 301 https://$host$request_uri; -} diff --git a/deployments/staging/docker-compose.yaml b/deployments/staging/docker-compose.yaml new file mode 100644 index 0000000..f3e44ff --- /dev/null +++ b/deployments/staging/docker-compose.yaml @@ -0,0 +1,13 @@ +services: + hub: + container_name: hub + restart: unless-stopped + image: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID + networks: + - marketplace_penahub_frontend + hostname: hub + tty: true +networks: + marketplace_penahub_frontend: + external: true +