From 832cce7fdfcf014123fcad625866f097809a4f3e Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Fri, 23 Feb 2024 18:28:57 +0200 Subject: [PATCH] deployment scripts --- .env.prod.staging => .env.prod_staging | 0 _deploy/deoloy.azure.yml | 55 +++++++++++++------------- _doc/notes.mb | 2 +- 3 files changed, 29 insertions(+), 28 deletions(-) rename .env.prod.staging => .env.prod_staging (100%) diff --git a/.env.prod.staging b/.env.prod_staging similarity index 100% rename from .env.prod.staging rename to .env.prod_staging diff --git a/_deploy/deoloy.azure.yml b/_deploy/deoloy.azure.yml index 2652ba3..1d22733 100644 --- a/_deploy/deoloy.azure.yml +++ b/_deploy/deoloy.azure.yml @@ -1,39 +1,40 @@ version: "3" services: - nextjs-app: - image: node:20.11.0-alpine - ports: - - "3000:3000" - working_dir: /app + nextjs-app: # https://sofia.mwhitnessing.com/ + hostname: jwpw-app-staging # jwpw-nextjs-app-1 + image: docker.d-popov.com/jwpw:latest volumes: - - /mnt/docker_volumes/pw/app:/app + - /mnt/docker_volumes/pw-staging/app/public/content/uploads/:/app/public/content/uploads environment: - - NODE_ENV=production - - DATABASE_URL=mysql://jwpwsofia:dwxhns9p9vp248V39xJyRthUsZ2gR9@mariadb:3306/jwpwsofia - command: /bin/sh -c "npm install && npm install -g dotenv-cli next && npx prisma generate && next dev; tail -f /dev/null" # Install dependencies and start the app - #command: sh -c " cd /app && npm run prod; tail -f /dev/null" - #HOST: fallocate -l 1G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile && echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab - # apk add git && rm -rf /tmp/clone && git clone --depth 1 https://git.d-popov.com/popov/next-cart-app.git /tmp/clone - # cp -R /tmp/clone/next-cart-app/* /app/ - # rm -rf /tmp/clone - # npm cache clean --force && rm -rf /app/node_modules /app/package-lock.json - # npm --silent --prefix /app install /app && npx --prefix /app prisma generate && npm --prefix /app run test; tail -f /dev/null - + - NODE_ENV=prod_staging + - TZ=Europe/Sofia + - DATABASE_URL=mysql://jwpwsofia:dwxhns9p9vp248V39xJyRthUsZ2gR9@mariadb-staging:3306/jwpwsofia + - UPDATE_CODE_FROM_GIT=true # Set to true to pull latest code from Git + - GIT_BRANCH=mariadb + - GIT_USERNAME=deploy + - GIT_PASSWORD=L3Kr2R438u4F7 + command: sh -c " cd /app && npm install && npm run nodeenv; tail -f /dev/null" tty: true stdin_open: true - + restart: always + # ports: + # - "3001:3000" + networks: + - infrastructure_default mariadb: - image: mariadb:10.6 + hostname: mariadb-staging + image: mariadb:latest #mariadb:10.4 + volumes: + - /mnt/docker_volumes/pw-staging/data/mysql:/var/lib/mysql environment: + MARIADB_ROOT_PASSWORD: i4966cWBtP3xJ7BLsbsgo93C8Q5262 MYSQL_ROOT_PASSWORD: i4966cWBtP3xJ7BLsbsgo93C8Q5262 MYSQL_DATABASE: jwpwsofia MYSQL_USER: jwpwsofia MYSQL_PASSWORD: dwxhns9p9vp248V39xJyRthUsZ2gR9 - ports: - - "3306:3306" - volumes: - - /mnt/docker_volumes/pw/data/mysql:/var/lib/mysql - -volumes: - nextjs-app-data: - mysql-data: + #command: ["mysqld", "--max-connections=1000", "--sql-mode=ALLOW_INVALID_DATES,ANSI_QUOTES,ERROR_FOR_DIVISION_BY_ZERO,HIGH_NOT_PRECEDENCE,IGNORE_SPACE,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_UNSIGNED_SUBTRACTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY,PIPES_AS_CONCAT,REAL_AS_FLOAT,STRICT_ALL_TABLES,STRICT_TRANS_TABLES,ANSI,DB2,MAXDB,MSSQL,MYSQL323,MYSQL40,ORACLE,POSTGRESQL,TRADITIONAL", "--wait-timeout=28800"] + networks: + - infrastructure_default +networks: + infrastructure_default: + external: true diff --git a/_doc/notes.mb b/_doc/notes.mb index 75da54c..44aa75c 100644 --- a/_doc/notes.mb +++ b/_doc/notes.mb @@ -35,7 +35,7 @@ docker build -t docker.d-popov.com/jwpw:test -f _deploy/testBuild.Dockerfile . docker push docker.d-popov.com/jwpw:test --LATEST/ -cd /mnt/storage/DEV/workspace/repos/git.d-popov.com/next-cart-app/next-cart-app +cd /mnt/storage/DEV/workspace/repos/git.d-popov.com/mwhitnessing docker build -t docker.d-popov.com/jwpw:latest -f _deploy/prod.Dockerfile . docker tag docker.d-popov.com/jwpw:latest docker.d-popov.com/jwpw:0.9.95 docker push docker.d-popov.com/jwpw:latest