69 Commits

Author SHA1 Message Date
thienqb123456 0946e4406e đổi thư mục deploy uat 2025-05-09 08:49:08 +07:00
thienqb123456 3b9e357b6b Thienvv - them start app pool cho production 2025-05-01 16:18:27 +07:00
thienqb123456 ef177a195d Thienvv - thêm start app pool 2025-05-01 16:07:16 +07:00
thienqb123456 fb39e282f7 Thienvv- 2025-04-21 23:45:53 +07:00
thienqb123456 fcc3a5ad3d fix 2025-03-28 15:58:23 +07:00
thienqb123456 ea5010d9a9 chia api portal backend uat hnt/ktdt rieng 2025-03-28 15:43:07 +07:00
thienqb123456 ff32e21b51 chịu, chưa xử lí đc vấn đề skipping: no hosts matched , mà ko báo lỗi 2025-03-15 16:07:52 +07:00
thienqb123456 ae3d8934e6 verify-host test2 2025-03-15 16:00:56 +07:00
thienqb123456 afea1ef08a test 2025-03-15 15:41:28 +07:00
thienqb123456 bcea81d908 fix no hosts matched ktdt-portal-frontend 2025-03-15 15:29:50 +07:00
thienqb123456 0375ab6efb Thienvv - update net core envg 2025-03-07 20:29:15 +07:00
thienqb123456 4aeacb1d82 upda 2025-03-05 18:44:14 +07:00
thienqb123456 8fc17fc09f Thienvv - new ansible part5 2025-03-05 18:19:08 +07:00
thienqb123456 f61855de2f Thienvv - fix4 2025-03-05 17:45:42 +07:00
thienqb123456 3f94dfe6f1 Thienvv - fix3 2025-03-05 17:14:55 +07:00
thienqb123456 689dcb50a5 Thienvv -deploy_ktdt_resource_backend.yml 2025-03-05 17:12:16 +07:00
thienqb123456 fd2771e574 thay đổi ansible sang ver3 new 2025-03-05 16:41:40 +07:00
thienqb123456 d6d726e48d ansible v3 2025-03-05 11:58:28 +07:00
thienqb123456 da179bd1c3 quite-good 2025-03-04 18:17:07 +07:00
thienqb123456 87eef3e85b deploy-fe-portal new 2025-03-04 18:06:31 +07:00
thienqb123456 3c083c6dba fix 22 2025-03-04 17:33:51 +07:00
thienqb123456 26f8e27b5f fix 21 2025-03-04 17:31:13 +07:00
thienqb123456 26f303c862 fix 20 2025-03-04 17:21:15 +07:00
thienqb123456 a999f635ad new format ansible-playhook, role 2025-03-04 17:16:35 +07:00
thienqb123456 c7500c16ef tang --maxmemory cua portal 2025-03-04 17:13:09 +07:00
thienqb123456 9d15ed743a fix11 2025-03-04 10:37:14 +07:00
thienqb123456 f94804e277 fix10 2025-03-04 10:06:53 +07:00
thienqb123456 c4d166d418 fix9 2025-03-04 09:47:28 +07:00
thienqb123456 bf9ea21b47 fix8 2025-03-04 09:44:41 +07:00
thienqb123456 147d55fc20 fix7 2025-03-04 09:12:21 +07:00
thienqb123456 843c43228e fix6 2025-03-03 18:40:02 +07:00
thienqb123456 317e7a0f65 fix5 2025-03-03 18:37:50 +07:00
thienqb123456 3232452543 fix4 2025-03-03 18:37:04 +07:00
thienqb123456 22d94c2530 fix3 2025-03-03 18:27:51 +07:00
thienqb123456 3d4e0b4791 fix2 2025-03-03 18:11:52 +07:00
thienqb123456 fc9cbbd564 fix 2025-03-03 18:08:45 +07:00
thienqb123456 ad216b4fef be-portal env 2025-03-03 16:23:31 +07:00
thienqb123456 965d8b431c đổi tên site iis nên phải sửa cho nó ăn theo 2025-03-03 14:05:33 +07:00
thienqb123456 b5c8404a6f ud 2025-02-28 18:12:05 +07:00
thienqb123456 2d6d20c912 update 2025-02-28 18:06:51 +07:00
thienqb123456 f9aa3baad3 x 2025-02-28 17:56:11 +07:00
thienqb123456 38d9908946 update 2025-02-28 17:24:14 +07:00
thienqb123456 94386913d3 xxx 2025-02-22 19:30:31 +07:00
thienqb123456 13bd8782bc x 2025-02-22 16:34:36 +07:00
thienqb123456 318578a0d0 Thienvv 2025-02-22 12:21:09 +07:00
thienqb123456 27eb7651c9 thienvv 2025-01-15 15:21:31 +07:00
thienqb123456 83c973eecc thiem host vao file ini 2025-01-15 15:02:52 +07:00
thienqb123456 00cb30ee81 portal beta 2025-01-15 14:58:12 +07:00
thienqb123456 5dc1d2bfcd Thienvv - host_vars cho cd mt beta 2025-01-15 14:57:03 +07:00
thienqb123456 6451f8467c beta env 2025-01-15 14:41:03 +07:00
thienqb123456 b53189c5e5 Thienvv - host prod resource 2025-01-13 10:19:35 +07:00
thienqb123456 bd41a70979 Thienvv - ansible , thêm host cho resource api 2025-01-11 19:50:57 +07:00
thienqb123456 d3eb6b9351 Thienvv - them playbook cho deploy_fe_portal, roles,... 2025-01-09 18:35:25 +07:00
thienqb123456 88a3e6bf5b Thienvv - 2025-01-09 16:50:25 +07:00
thienqb123456 e28200ad70 portal fe uat 2025-01-09 16:34:07 +07:00
thienqb123456 6531a9baa3 Thienvv - 2024-12-23 01:32:23 +07:00
thienqb123456 89a9cc4500 Thienvv - 2024-12-23 01:28:28 +07:00
thienqb123456 37af3c17eb t 2024-12-23 01:19:02 +07:00
thienqb123456 01c6239bfe Thienvv- 2024-12-23 01:12:01 +07:00
thienqb123456 d6788d42f8 Thienvv - 2024-12-23 01:09:53 +07:00
thienqb123456 d789cc9843 Thienvv 2024-12-23 01:02:43 +07:00
thienqb123456 df12bcec3e Thienvv 2024-12-23 00:55:04 +07:00
thienqb123456 f71122991f Thienvv - 2024-12-23 00:50:18 +07:00
thienqb123456 46b517894e Thienvv - 2024-12-23 00:48:32 +07:00
thienqb123456 63f40a088e Thienvv 2024-12-23 00:35:23 +07:00
thienqb123456 7664002bea Thienvv - 2024-12-23 00:27:39 +07:00
thienqb123456 267a77cc08 Thienvv - 2024-12-23 00:23:40 +07:00
thienqb123456 fbefb3750d Thienvv - 2024-12-23 00:12:58 +07:00
thienqb123456 52dc8e68e6 v2 ngay 19/12/24 2024-12-19 00:40:20 +07:00
65 changed files with 545 additions and 191 deletions
+1
View File
@@ -1,3 +1,4 @@
[defaults] [defaults]
inventory = ./inventory inventory = ./inventory
roles_path = ./roles roles_path = ./roles
error_on_missing_hosts = True ;Ansible sẽ thoát với mã lỗi 1 nếu không tìm thấy hosts.
-4
View File
@@ -1,4 +0,0 @@
temp_dir: "C:\\deploy\\vpress\\temp"
iis_site_name: "api-acp.kinhtedothi.vn"
blue_path: "C:\\deploy\\vpress\\acp\\be\\blue"
green_path: "C:\\deploy\\vpress\\acp\\be\\green"
-4
View File
@@ -1,4 +0,0 @@
temp_dir: "C:\\deploy\\vpress\\temp"
iis_site_name: "api-portal.kinhtedothi.vn"
blue_path: "C:\\deploy\\vpress\\portal\\be\\blue"
green_path: "C:\\deploy\\vpress\\portal\\be\\green"
-4
View File
@@ -1,4 +0,0 @@
temp_dir: "C:\\deploy\\vpress\\temp"
iis_site_name: "acp.kinhtedothi.vn"
blue_path: "C:\\deploy\\vpress\\acp\\fe\\blue"
green_path: "C:\\deploy\\vpress\\acp\\fe\\green"
-4
View File
@@ -1,4 +0,0 @@
temp_dir: "C:\\deploy\\vpress\\temp"
iis_site_name: "demo.kinhtedothi.vn"
blue_path: "C:\\deploy\\vpress\\portal\\fe\\blue"
green_path: "C:\\deploy\\vpress\\portal\\fe\\green"
-4
View File
@@ -1,4 +0,0 @@
temp_dir: "C:\\deploy\\vpress\\temp"
iis_site_name: "api-acp-2025"
blue_path: "C:\\deploy\\vpress\\acp\\be\\blue"
green_path: "C:\\deploy\\vpress\\acp\\be\\green"
-4
View File
@@ -1,4 +0,0 @@
temp_dir: "C:\\deploy\\vpress\\temp"
iis_site_name: "api-portal-2025"
blue_path: "C:\\deploy\\vpress\\portal\\be\\blue"
green_path: "C:\\deploy\\vpress\\portal\\be\\green"
-4
View File
@@ -1,4 +0,0 @@
temp_dir: "C:\\deploy\\vpress\\temp"
iis_site_name: "uat-acp.vpress.vn"
blue_path: "C:\\deploy\\vpress\\acp\\fe\\blue"
green_path: "C:\\deploy\\vpress\\acp\\fe\\green"
-4
View File
@@ -1,4 +0,0 @@
temp_dir: "C:\\deploy\\vpress\\temp"
iis_site_name: "uat_be_acp_TEST"
blue_path: "C:\\deploy\\vpress\\portal\\fe\\blue"
green_path: "C:\\deploy\\vpress\\portal\\fe\\green"
-11
View File
@@ -1,11 +0,0 @@
[prod_be_acp_webservers]
prod_be_acp ansible_host=123.30.186.68 ansible_user=jenkins_cicd_ktdt ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[prod_be_portal_webservers]
prod_be_portal ansible_host=123.30.186.68 ansible_user=jenkins_cicd_ktdt ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[prod_fe_acp_webservers]
prod_fe_acp ansible_host=123.30.186.68 ansible_user=jenkins_cicd_ktdt ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[prod_be_portal_webservers]
prod_fe_portal ansible_host=123.30.186.68 ansible_user=jenkins_cicd_ktdt ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
@@ -0,0 +1,8 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "acp-api.kinhtedothi.vn"
app_pool_name: "acp-api.kinhtedothi.vn"
blue_path: "E:\\deploy\\acp\\be\\blue"
green_path: "E:\\deploy\\acp\\be\\green"
aspnetcore_environment: "Ktdt_Production"
@@ -0,0 +1,6 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "tsht.kinhtedothi.vn"
app_pool_name: "tsht.kinhtedothi.vn"
blue_path: "E:\\deploy\\acp\\fe\\blue"
green_path: "E:\\deploy\\acp\\fe\\green"
@@ -0,0 +1,8 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "portal-api.hanoitimes.vn"
app_pool_name: "portal-api.hanoitimes.vn"
blue_path: "E:\\deploy\\portal\\be\\hnt\\blue"
green_path: "E:\\deploy\\portal\\be\\hnt\\green"
aspnetcore_environment: "Hnt_Production"
@@ -0,0 +1,6 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "hanoitimes.vn"
app_pool_name: "beta.hanoitimes.vn"
blue_path: "E:\\deploy\\portal\\fe\\hnt\\blue"
green_path: "E:\\deploy\\portal\\fe\\hnt\\green"
@@ -0,0 +1,6 @@
# temp_dir: "C:\\deploy\\vpress\\temp"
# iis_site_name: "cdn-media.hanoitimes.vn"
# blue_path: "C:\\deploy\\resource\\hnt\\blue"
# green_path: "C:\\deploy\\resource\\hnt\\green"
# aspnetcore_environment: "Hnt_Production"
@@ -0,0 +1,8 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "portal-api.kinhtedothi.vn"
app_pool_name: "portal-api.kinhtedothi.vn"
blue_path: "E:\\deploy\\portal\\be\\ktdt\\blue"
green_path: "E:\\deploy\\portal\\be\\ktdt\\green"
aspnetcore_environment: "Ktdt_Production"
@@ -0,0 +1,6 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "beta.kinhtedothi.vn"
app_pool_name: "beta.kinhtedothi.vn"
blue_path: "E:\\deploy\\portal\\fe\\ktdt\\blue"
green_path: "E:\\deploy\\portal\\fe\\ktdt\\green"
@@ -0,0 +1,6 @@
# temp_dir: "C:\\deploy\\vpress\\temp"
# iis_site_name: "resource.kinhtedothi.vn"
# blue_path: "C:\\deploy\\resource\\ktdt\\blue"
# green_path: "C:\\deploy\\resource\\ktdt\\green"
# aspnetcore_environment: "Ktdt_Production"
+25
View File
@@ -0,0 +1,25 @@
[ktdt_portal_backend]
ktdt-portal-backend ansible_host=123.30.238.12 ansible_user=jenkins_cicd_beta ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[hnt_portal_backend]
hnt-portal-backend ansible_host=123.30.238.12 ansible_user=jenkins_cicd_beta ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[ktdt_portal_frontend]
ktdt-portal-frontend ansible_host=123.30.238.12 ansible_user=jenkins_cicd_beta ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[hnt_portal_frontend]
hnt-portal-frontend ansible_host=123.30.238.12 ansible_user=jenkins_cicd_beta ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[acp_backend]
acp-backend ansible_host=123.30.238.12 ansible_user=jenkins_cicd_beta ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[acp_frontend]
acp-frontend ansible_host=123.30.238.12 ansible_user=jenkins_cicd_beta ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[ktdt_resource_backend]
ktdt-resource-backend
[hnt_resource_backend]
hnt-resource-backend
-11
View File
@@ -1,11 +0,0 @@
[uat_be_acp_webservers]
uat_be_acp ansible_host=123.30.172.34 ansible_user=jenkins_cicd ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[uat_be_portal_webservers]
uat_be_portal ansible_host=123.30.172.34 ansible_user=jenkins_cicd ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[uat_fe_acp_webservers]
uat_fe_acp ansible_host=123.30.172.34 ansible_user=jenkins_cicd ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[uat_be_portal_webservers]
uat_fe_portal ansible_host=123.30.172.34 ansible_user=jenkins_cicd ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
View File
View File
View File
+7
View File
@@ -0,0 +1,7 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "api-acp-2025"
app_pool_name: "api-acp-2025"
blue_path: "E:\\deploy\\vpress\\acp\\be\\blue"
green_path: "E:\\deploy\\vpress\\acp\\be\\green"
aspnetcore_environment: "Uat"
+5
View File
@@ -0,0 +1,5 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "uat-acp.vpress.vn"
app_pool_name: "uat-acp.vpress.vn"
blue_path: "E:\\deploy\\vpress\\acp\\fe\\blue"
green_path: "E:\\deploy\\vpress\\acp\\fe\\green"
@@ -0,0 +1,7 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "api-portal2-2025.vpress.vn"
app_pool_name: "api-portal2-2025.vpress.vn"
blue_path: "E:\\deploy\\vpress\\portal\\be\\hnt\\blue"
green_path: "E:\\deploy\\vpress\\portal\\be\\hnt\\green"
aspnetcore_environment: "Uat_Hnt"
@@ -0,0 +1,6 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "uat-portal2"
app_pool_name: "uat-portal2"
blue_path: "E:\\deploy\\vpress\\portal\\fe\\hnt\\blue"
green_path: "E:\\deploy\\vpress\\portal\\fe\\hnt\\green"
@@ -0,0 +1,8 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "resource.vpress.vn"
app_pool_name: "resource.vpress.vn"
blue_path: "E:\\deploy\\vpress\\resource\\hnt\\blue"
green_path: "E:\\deploy\\vpress\\resource\\hnt\\green"
aspnetcore_environment: "Uat"
@@ -0,0 +1,8 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "api-portal-2025"
app_pool_name: "api-portal-2025"
blue_path: "E:\\deploy\\vpress\\portal\\be\\ktdt\\blue"
green_path: "E:\\deploy\\vpress\\portal\\be\\ktdt\\green"
aspnetcore_environment: "Uat_Ktdt"
@@ -0,0 +1,6 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "uat-portal.vpress.vn"
app_pool_name: "uat-portal.vpress.vn"
blue_path: "E:\\deploy\\vpress\\portal\\fe\\ktdt\\blue"
green_path: "E:\\deploy\\vpress\\portal\\fe\\ktdt\\green"
@@ -0,0 +1,8 @@
temp_dir: "E:\\deploy\\vpress\\temp"
iis_site_name: "resource.vpress.vn"
app_pool_name: "resource.vpress.vn"
blue_path: "E:\\deploy\\vpress\\resource\\ktdt\\blue"
green_path: "E:\\deploy\\vpress\\resource\\ktdt\\green"
aspnetcore_environment: "Uat"
+28
View File
@@ -0,0 +1,28 @@
[ktdt_portal_backend]
ktdt-portal-backend ansible_host=123.30.172.34 ansible_user=jenkins_cicd ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[hnt_portal_backend]
hnt-portal-backend ansible_host=123.30.172.34 ansible_user=jenkins_cicd ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[ktdt_portal_frontend]
ktdt-portal-frontend ansible_host=123.30.172.34 ansible_user=jenkins_cicd ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[hnt_portal_frontend]
hnt-portal-frontend ansible_host=123.30.172.34 ansible_user=jenkins_cicd ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[acp_backend]
acp-backend ansible_host=123.30.172.34 ansible_user=jenkins_cicd ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[acp_frontend]
acp-frontend ansible_host=123.30.172.34 ansible_user=jenkins_cicd ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[ktdt_resource_backend]
ktdt-resource-backend ansible_host=123.30.172.34 ansible_user=jenkins_cicd ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
[hnt_resource_backend]
hnt-resource-backend ansible_host=123.30.172.34 ansible_user=jenkins_cicd ansible_password=Thienthien123@ ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
+5
View File
@@ -0,0 +1,5 @@
- name: Deploy Backend for Project ACP
hosts: acp-backend
roles:
- deploy-be-acp
@@ -0,0 +1,4 @@
- name: Deploy Backend for Project Portal
hosts: hnt-portal-backend
roles:
- deploy-be-portal
@@ -0,0 +1,5 @@
- name: Deploy Backend for Project Resource
hosts: hnt-resource-backend
roles:
- deploy-be-resource
@@ -0,0 +1,5 @@
- name: Deploy Backend for Project Portal
hosts: ktdt-portal-backend
roles:
- deploy-be-portal
@@ -0,0 +1,5 @@
- name: Deploy Backend for Project Resource
hosts: ktdt-resource-backend
roles:
- deploy-be-resource
-5
View File
@@ -1,5 +0,0 @@
- name: Deploy Backend for Project Acp, Portal
hosts: "{{ target_host }}"
roles:
- deploy
-4
View File
@@ -1,4 +0,0 @@
- name: Deploy Frontend for Project Acp, Portal
hosts: "{{ target_host }}"
roles:
- deploy
@@ -0,0 +1,5 @@
- name: Deploy FE for Project ACP
hosts: acp-frontend
roles:
- deploy-fe-acp
@@ -0,0 +1,5 @@
- name: Deploy FE for Project Portal ktdt
hosts: hnt-portal-frontend
roles:
- deploy-fe-portal
@@ -0,0 +1,5 @@
- name: Deploy FE for Project Portal ktdt
hosts: ktdt-portal-frontend
roles:
- deploy-fe-portal
+37
View File
@@ -0,0 +1,37 @@
- name: get_site_current_active_path.yml
import_role:
name: iis_utils
tasks_from: get_site_current_active_path.yml
- name: set_target_path
import_role:
name: iis_utils
tasks_from: set_target_path.yml
- name: artifact_download
import_role:
name: iis_utils
tasks_from: artifact_download.yml
- name: artifact_deploy
import_role:
name: iis_utils
tasks_from: artifact_deploy.yml
- name: update_iis_physical_path
import_role:
name: iis_utils
tasks_from: update_iis_physical_path.yml
- name: start_iis_app_pool
import_role:
name: iis_utils
tasks_from: start_iis_app_pool.yml
- name: set_site_aspnetcore_environment
import_role:
name: iis_utils
tasks_from: set_site_aspnetcore_environment.yml
+37
View File
@@ -0,0 +1,37 @@
- name: get_site_current_active_path.yml
import_role:
name: iis_utils
tasks_from: get_site_current_active_path.yml
- name: set_target_path
import_role:
name: iis_utils
tasks_from: set_target_path.yml
- name: artifact_download
import_role:
name: iis_utils
tasks_from: artifact_download.yml
- name: artifact_deploy
import_role:
name: iis_utils
tasks_from: artifact_deploy.yml
- name: update_iis_physical_path
import_role:
name: iis_utils
tasks_from: update_iis_physical_path.yml
- name: start_iis_app_pool
import_role:
name: iis_utils
tasks_from: start_iis_app_pool.yml
- name: set_site_aspnetcore_environment
import_role:
name: iis_utils
tasks_from: set_site_aspnetcore_environment.yml
+39
View File
@@ -0,0 +1,39 @@
- name: get_site_current_active_path.yml
import_role:
name: iis_utils
tasks_from: get_site_current_active_path.yml
- name: set_target_path
import_role:
name: iis_utils
tasks_from: set_target_path.yml
- name: artifact_download
import_role:
name: iis_utils
tasks_from: artifact_download.yml
- name: artifact_deploy
import_role:
name: iis_utils
tasks_from: artifact_deploy.yml
- name: update_iis_physical_path
import_role:
name: iis_utils
tasks_from: update_iis_physical_path.yml
- name: start_iis_app_pool
import_role:
name: iis_utils
tasks_from: start_iis_app_pool.yml
- name: set_site_aspnetcore_environment
import_role:
name: iis_utils
tasks_from: set_site_aspnetcore_environment.yml
+33
View File
@@ -0,0 +1,33 @@
- name: get_site_current_active_path.yml
import_role:
name: iis_utils
tasks_from: get_site_current_active_path.yml
- name: set_target_path
import_role:
name: iis_utils
tasks_from: set_target_path.yml
- name: artifact_download
import_role:
name: iis_utils
tasks_from: artifact_download.yml
- name: artifact_deploy
import_role:
name: iis_utils
tasks_from: artifact_deploy.yml
- name: update_iis_physical_path
import_role:
name: iis_utils
tasks_from: update_iis_physical_path.yml
- name: start_iis_app_pool
import_role:
name: iis_utils
tasks_from: start_iis_app_pool.yml
+31
View File
@@ -0,0 +1,31 @@
- name: get_site_current_active_path.yml
import_role:
name: iis_utils
tasks_from: get_site_current_active_path.yml
- name: set_target_path
import_role:
name: iis_utils
tasks_from: set_target_path.yml
- name: artifact_download
import_role:
name: iis_utils
tasks_from: artifact_download.yml
- name: artifact_deploy
import_role:
name: iis_utils
tasks_from: artifact_deploy.yml
- name: update_iis_physical_path
import_role:
name: iis_utils
tasks_from: update_iis_physical_path.yml
- name: start_iis_app_pool
import_role:
name: iis_utils
tasks_from: start_iis_app_pool.yml
-5
View File
@@ -1,5 +0,0 @@
# Xóa file tạm
- name: Clean up temporary files
win_file:
path: "{{ temp_dir }}\\{{ artifact_name }}"
state: absent
-25
View File
@@ -1,25 +0,0 @@
# Kiểm tra kết nối Nexus
- name: Check Nexus connectivity
uri:
url: "{{ nexus_url }}"
method: GET
return_content: yes
status_code: 200
register: nexus_response
- name: Verify Nexus response
fail:
msg: "Unable to connect to Nexus at {{ nexus_url }}"
when: nexus_response.status != 200
# Kiểm tra quyền ghi trên thư mục target
- name: Verify write access to target path
win_acl:
path: "{{ target_path }}"
state: query
register: acl_status
- name: Ensure target path is writable
fail:
msg: "No write permissions for target path: {{ target_path }}"
when: acl_status.permissions | length == 0
-28
View File
@@ -1,28 +0,0 @@
# Tải artifact từ Nexus
- name: Download artifact from Nexus
win_get_url:
url: "{{ nexus_url }}/{{ artifact_name }}"
dest: "{{ temp_dir }}\\{{ artifact_name }}"
validate_certs: no
url_username: "{{ nexus_username }}"
url_password: "{{ nexus_password }}"
register: download_status
vars:
nexus_url: "{{ nexus_url }}"
artifact_name: "{{ artifact_name }}"
nexus_username: "{{ nexus_username }}"
nexus_password: "{{ nexus_password }}"
# Kiểm tra xem artifact đã được tải thành công chưa
- name: Verify artifact download
fail:
msg: "Failed to download artifact from Nexus."
when: download_status is failed
# Giải nén artifact vào thư mục target
- name: Deploy Backend to target environment
win_unzip:
src: "{{ temp_dir }}\\{{ artifact_name }}"
dest: "{{ target_path }}"
overwrite: yes
-16
View File
@@ -1,16 +0,0 @@
- name: Setup environment
import_tasks: setup.yml
# - name: Run common checks
# import_tasks: common.yml
- name: Deploy application
import_tasks: deploy.yml
- name: Clean up temporary files
import_tasks: cleanup.yml
- name: Switch
import_tasks: switch.yml
-43
View File
@@ -1,43 +0,0 @@
- name: Debug iis_site_name
debug:
var: iis_site_name
#Lấy đường dẫn vật lý của iis site
- name: Get the physical path of the current IIS site
win_shell: |
Import-Module WebAdministration
$site = Get-Website -Name "{{ iis_site_name }}"
$site.PhysicalPath
register: active_path
# Chuẩn hóa giá trị của active_path
- name: Normalize active_path
set_fact:
active_path: "{{ active_path.stdout | trim }}"
# Debug các biến quan trọng
- name: Debug active_path
debug:
var: active_path
- name: Debug blue_path
debug:
var: blue_path
# Chọn môi trường Blue hoặc Green để deploy
- name: Set target deployment environment
set_fact:
target_path: "{{ green_path if active_path == blue_path else blue_path }}" #lấy ra đường dẫn thư mục cần deploy
- name: Debug target_path
debug:
var: target_path
# Kiểm tra các thông số Nexus
- name: Debug Nexus URL
debug:
var: nexus_url
- name: Debug artifact name
debug:
var: artifact_name
-10
View File
@@ -1,10 +0,0 @@
- name: Update IIS web application path
win_iis_website:
name: "{{ iis_site_name }}"
physical_path: "{{ target_path }}"
# - name: Restart IIS site to apply changes
# win_iis_website:
# name: "{{ iis_site_name }}"
# state: restarted
+14
View File
@@ -0,0 +1,14 @@
- name: Validate variables
assert:
that:
- artifact_name is defined and artifact_name | length > 0
- target_path is defined and target_path | length > 0
- temp_dir is defined and temp_dir | length > 0
fail_msg: "Thiếu hoặc rỗng biến cần thiết để deploy artifact!"
# Giải nén artifact vào thư mục target
- name: Deploy to target environment
win_unzip:
src: "{{ temp_dir }}\\{{ artifact_name }}"
dest: "{{ target_path }}"
overwrite: yes
@@ -0,0 +1,48 @@
- name: Validate variables
assert:
that:
- nexus_url is defined and nexus_url | length > 0
- temp_dir is defined and temp_dir | length > 0
- artifact_name is defined and artifact_name | length > 0
- nexus_username is defined and nexus_username | length > 0
- nexus_password is defined and nexus_password | length > 0
fail_msg: "Thiếu hoặc rỗng biến cần thiết để download artifact!"
# Tải artifact từ Nexus Repository
- name: Download artifact from Nexus
win_get_url:
url: "{{ nexus_url }}/{{ artifact_name }}"
dest: "{{ temp_dir }}\\{{ artifact_name }}"
validate_certs: no
url_username: "{{ nexus_username }}"
url_password: "{{ nexus_password }}"
register: download_status
vars:
nexus_url: "{{ nexus_url }}"
artifact_name: "{{ artifact_name }}"
nexus_username: "{{ nexus_username }}"
nexus_password: "{{ nexus_password }}"
# Debug download_status
- name: Debug download_status
debug:
var: download_status
# Lỗi khi tải artifact từ nexus thất bại
- name: Fail if download artifact from Nexus Repository fail
fail:
msg: "Download artifact from nexus fail"
when: download_status.status_code != 200
# Kiểm tra ở trên server đã tồn tại file vùa tải xuống không
- name: Check if the artifact file exists
stat:
path: "{{ temp_dir }}/{{ artifact_name }}"
register: file_status
changed_when: false
failed_when: false
# Debug file_status
- name: Debug file_status
debug:
var: file_status
@@ -0,0 +1,12 @@
- name: Validate variables
assert:
that:
- temp_dir is defined and temp_dir | length > 0
- artifact_name is defined and artifact_name | length > 0
fail_msg: "Thiếu hoặc rỗng biến cần thiết để cleanup_temp_artifact!"
# Xóa file tạm
- name: Clean up temporary files
win_file:
path: "{{ temp_dir }}\\{{ artifact_name }}"
state: absent
@@ -0,0 +1,26 @@
- name: Validate variables
assert:
that:
- iis_site_name is defined and iis_site_name | length > 0
fail_msg: "Thiếu hoặc rỗng biến cần thiết để get_site_current_active_path!"
#Lấy đường dẫn vật lý của iis site/kiểm tra sự tồn tại của site
- name: Get the physical path of the current IIS site
win_shell: |
Import-Module WebAdministration
$site = Get-Website -Name "{{ iis_site_name}}"
if ($site) {
Write-Output $site.PhysicalPath
} else {
Write-Output "NOT_FOUND"
}
register: site_path
- name: Set fact for site path
set_fact:
active_path: "{{ site_path.stdout_lines[0] }}"
- name: Fail if site does not exist
fail:
msg: "IIS site {{ iis_site_name }} not found!"
when: active_path == "NOT_FOUND"
@@ -0,0 +1,11 @@
- name: Validate variables
assert:
that:
- iis_site_name is defined and iis_site_name | length > 0
fail_msg: "Thiếu hoặc rỗng biến cần thiết để restart_iis_site.yml!"
# Restart IIS site
- name: Restart IIS site
win_iis_website:
name: "{{ iis_site_name }}"
state: restarted
@@ -0,0 +1,15 @@
- name: Validate variables
assert:
that:
- iis_site_name is defined and iis_site_name | length > 0
- aspnetcore_environment is defined and aspnetcore_environment | length > 0
fail_msg: "Thiếu hoặc rỗng biến cần thiết để set_site_aspnetcore_environment!"
# Set ASPNETCORE_ENVIRONMENT cho site IIS
- name: Set ASPNETCORE_ENVIRONMENT for IIS site
win_shell: |
Import-Module WebAdministration
Add-WebConfigurationProperty -pspath "MACHINE/WEBROOT/APPHOST/{{ iis_site_name }}" `
-filter "system.webServer/aspNetCore/environmentVariables" `
-name "." `
-value @{name="ASPNETCORE_ENVIRONMENT"; value="{{ aspnetcore_environment }}"}
+16
View File
@@ -0,0 +1,16 @@
- name: Validate variables
assert:
that:
- green_path is defined and green_path | length > 0
- blue_path is defined and blue_path | length > 0
- active_path is defined and active_path | length > 0
fail_msg: "Thiếu hoặc rỗng biến cần thiết để set_target_path!"
# Chọn môi trường Blue hoặc Green để deploy
- name: Set target deployment environment
set_fact:
target_path: "{{ green_path if active_path == blue_path else blue_path }}" #lấy ra đường dẫn thư mục cần deploy
- debug:
var: target_path
@@ -0,0 +1,11 @@
- name: Validate variables
assert:
that:
- app_pool_name is defined and app_pool_name | length > 0
fail_msg: "Thiếu hoặc rỗng biến cần thiết để start_iis_app_pool.yml!"
# Start app pool
- name: Start IIS App Pool
win_iis_webapppool:
name: "{{ app_pool_name }}"
state: started
@@ -0,0 +1,12 @@
- name: Validate variables
assert:
that:
- iis_site_name is defined and iis_site_name | length > 0
- target_path is defined and target_path | length > 0
fail_msg: "Thiếu hoặc rỗng biến cần thiết để set_target_path!"
# Cập nhật PhysicalPath mới cho site IIS (green/blue)
- name: Update site IIS web application
win_iis_website:
name: "{{ iis_site_name }}"
physical_path: "{{ target_path }}"