Browse Source

:wrench: fix www deploy bugs

Jeremy Zheng 4 years ago
parent
commit
3ddba74f4f

+ 1 - 1
deploy/group_vars/all.yml

@@ -7,4 +7,4 @@ app_deploy_target: "/var/www/{{ inventory_hostname }}/{{ ansible_date_time.iso86
 app_downloads: "{{ ansible_env.HOME }}/downloads"
 app_backup: "{{ ansible_env.HOME }}/backups"
 app_python_version: "3.11"
-app_php_version: "8.0"
+app_php_version: "8.1"

+ 16 - 9
deploy/roles/mint-clone/tasks/main.yml

@@ -11,8 +11,14 @@
     dest: "{{ app_deploy_target }}"
     version: laravel
 
+- name: Setup storage folder
+  ansible.builtin.file:
+    path: "{{ app_deploy_target }}/storage"
+    owner: www-data
+    group: www-data
+
 - name: Install v2 php dependencies
-  ansible.builtin.shell: "{{ ansible_env.HOME }}/.local/bin/composer install"
+  ansible.builtin.shell: "php{{ app_php_version }} {{ ansible_env.HOME }}/.local/bin/composer install"
   args:
     chdir: "{{ app_deploy_target }}"
 
@@ -28,7 +34,7 @@
 
 # TODO will remove in future
 - name: Install v1 php dependencies
-  ansible.builtin.shell: "{{ ansible_env.HOME }}/.local/bin/composer install"
+  ansible.builtin.shell: "php{{ app_php_version }} {{ ansible_env.HOME }}/.local/bin/composer install"
   args:
     chdir: "{{ app_deploy_target }}/public"
 
@@ -43,13 +49,14 @@
     dest: "{{ app_deploy_target }}/public/node_modules"
     state: link
 
-- name: Install tmp
+- name: Install v2 tmp
   ansible.builtin.file:
     src: "/var/www/{{ inventory_hostname }}/tmp"
     dest: "{{ app_deploy_target }}/tmp"
     state: link
 
-- name: Install tmp
+# TODO will remove in future
+- name: Install v1 tmp
   ansible.builtin.file:
     src: "/var/www/{{ inventory_hostname }}/tmp"
     dest: "{{ app_deploy_target }}/public/tmp"
@@ -84,8 +91,8 @@
     group: www-data
     mode: '0400'
 
-# - name: Create a current link
-#   ansible.builtin.file:
-#     src: "{{ app_deploy_target }}"
-#     dest: /var/www/{{ inventory_hostname }}/current
-#     state: link
+- name: Create a current link
+  ansible.builtin.file:
+    src: "{{ app_deploy_target }}"
+    dest: /var/www/{{ inventory_hostname }}/current
+    state: link

+ 1 - 1
deploy/roles/mint-clone/templates/config-v1.js.j2

@@ -11,4 +11,4 @@ var RPC_SERVER="https://rpc.wikipali.org";
   |------------------------
 */
 
-var ASSETS_SERVER = "https://assets-hk.wikipali.org"
+var ASSETS_SERVER = "https://assets-{{ app_cluster_id }}.wikipali.org"

+ 10 - 9
deploy/roles/mint-clone/templates/config-v1.php.j2

@@ -4,6 +4,7 @@ require_once __DIR__."/config.dir.php";
 
 #域名设置
 define("RPC_SERVER","https://rpc.wikipali.org");
+define("ASSETS_SERVER","https://assets-{{ app_cluster_id }}.wikipali.org");
 /*
 电子邮件设置
 PHPMailer
@@ -11,11 +12,11 @@ PHPMailer
 define("Email", [
 				 "Host"=>"smtp.gmail.com",//Set the SMTP server to send through
 				 "SMTPAuth"=>true,//Enable SMTP authentication
-				 "Username"=>'your@gmail.com',//SMTP username
-				 "Password"=>'your_password',//SMTP password
+				 "Username"=>'{{ app_smtp_username }}',//SMTP username
+				 "Password"=>'{{ app_smtp_password }}',//SMTP password
 				 "Port"=>465,//TCP port to connect to 465; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
-				 "From"=>"your@gmail.com",
-				 "Sender"=>"sender"
+				 "From"=>"{{ app_smtp_username }}",
+				 "Sender"=>"webmaster"
 				 ]);
 
 /*
@@ -23,12 +24,12 @@ define("Email", [
 */
 define("Database",[
 	"type"=>"pgsql",
-	"server"=>"localhost",
-	"port"=>5432,
-	"name"=>"mint",
+	"server"=>"{{ app_postgresql_host }}",
+	"port"=>{{ app_postgresql_port }},
+	"name"=>"{{ app_postgresql_name }}",
 	"sslmode" => "disable",
-	"user" => "postgres",
-	"password" => "123456"
+	"user" => "{{ app_postgresql_user }}",
+	"password" => "{{ app_postgresql_password }}"
 ]);
 
 

+ 16 - 16
deploy/roles/mint-clone/templates/env-v2.j2

@@ -1,12 +1,12 @@
-BASE_DIR="/workspace/.env.global"
+BASE_DIR="{{ app_deploy_target }}/.env.global"
 CACHE_DIR="${BASE_DIR}/cache"
 TMP_DIR="${BASE_DIR}/tmp"
 
-APP_NAME=mint
+APP_NAME=wikipali
 APP_ENV=production
-APP_KEY={{ app_laravel_key }}
-APP_DEBUG=true
-APP_URL=https://{{ inventory_hostname }}
+APP_KEY="{{ app_laravel_key }}"
+APP_DEBUG=false
+APP_URL="https://{{ inventory_hostname }}"
 
 LOG_CHANNEL=stack
 LOG_DEPRECATIONS_CHANNEL=null
@@ -15,12 +15,12 @@ LOG_LEVEL=info
 DB_CONNECTION=postgresql
 DB_HOST={{ app_postgresql_host }}
 DB_PORT={{ app_postgresql_port }}
-DB_DATABASE=mint_new
-DB_USERNAME=www
-DB_PASSWORD={{ app_postgresql_password }}
+DB_DATABASE={{ app_postgresql_name }}
+DB_USERNAME={{ app_postgresql_user }}
+DB_PASSWORD="{{ app_postgresql_password }}"
 
 BROADCAST_DRIVER=log
-CACHE_DRIVER=file
+CACHE_DRIVER=redis
 FILESYSTEM_DRIVER=local
 QUEUE_CONNECTION=sync
 SESSION_DRIVER=file
@@ -33,13 +33,13 @@ REDIS_PASSWORD=null
 REDIS_PORT=6379
 
 MAIL_MAILER=smtp
-MAIL_HOST=mailhog
-MAIL_PORT=1025
-MAIL_USERNAME=null
-MAIL_PASSWORD=null
-MAIL_ENCRYPTION=null
-MAIL_FROM_ADDRESS=null
-MAIL_FROM_NAME="${APP_NAME}"
+MAIL_HOST=smtp.gmail.com
+MAIL_PORT=465
+MAIL_USERNAME={{ app_smtp_username }}
+MAIL_PASSWORD="{{ app_smtp_password }}"
+MAIL_ENCRYPTION=ssl
+MAIL_FROM_ADDRESS={{ app_smtp_username }}
+MAIL_FROM_NAME="webmaster"
 
 AWS_ACCESS_KEY_ID=
 AWS_SECRET_ACCESS_KEY=

+ 1 - 1
deploy/roles/mint-www/templates/nginx.conf.j2

@@ -9,7 +9,7 @@ server {
 
     gzip on;
     server_name {{ inventory_hostname }};
-    root {{ app_deploy_target }};
+    root {{ app_deploy_target }}/public;
     client_max_body_size 16M;
     index index.php;
     charset utf-8;