gitignore Tôi đã tìm thấy một mẫu tệp - lịch bóng đá ngoại hạng anh

/imgposts/tpdw689d.jpg

Trước hết, tôi muốn phàn nàn một chút. Tôi nhận thấy việc thuyết phục đội ngũ bán hàng sử dụng CRM thực sự là một thách thức lớn. Hôm qua, tôi đã không kiềm chế casino được mà mắng to, nhưng sau đó nghĩ lại thì thấy điều đó thật vô ích. Mọi người thường giả vờ không hiểu hoặc chỉ hành động vì lợi ích cá nhân của họ. Vậy thì cứ để họ làm theo cách của họ đi. Cứ im lặng và tập trung vào công việc của mình. Kinh nghiệm là thứ thuộc về bản thân mỗi người.

Quay trở lại vấn đề chính, tôi phát hiện rằng khi tạo mới module trong SuiteCRM hoặc chỉnh sửa các module có sẵn, mã nguồn của SuiteCRM cũng sẽ bị thay đổi theo, tức là sẽ sinh ra các lớp model mới. (Tôi phải thừa nhận rằng PHP thực sự là ngôn ngữ lập trình tuyệt vời nhất thế giới).

Do đó, ngoài việc sao lưu cơ sở dữ liệu trực tuyến, chúng ta cũng cần phải sao lưu mã nguồn trực tuyến.

  • Tôi nhận thấy rằng sau khi thay đổi nhiều cấu hình mặc định, trong nhật ký hệ thống xuất hiện rất nhiều lỗi, hầu hết đều liên quan đến các truy vấn SQL của module mới thêm vào. Tôi rất sợ một ngày nào đó hệ thống này gặp sự cố, và cuối cùng trách nhiệm sẽ đổ dồn lên đầu tôi, dù người gây ra vấn đề không phải là tôi.

  • Khi thêm logic tùy chỉnh, chúng ta cần sử dụng tính năng logic hook, nghĩa là viết mã PHP tùy chỉnh và đặt nó vào thư mục cụ thể của SuiteCRM. Lúc này, việc quản lý và theo dõi mã nguồn mới là hoàn toàn cần thiết.

Tôi đã tìm thấy một mẫu i9bet tệp .gitignore từ kho GitHub chính thức của SuiteCRM: SuiteCRM/.gitignore tại master · salesagility/SuiteCRM (github.com)

Dựa trên mẫu này, tôi đã thực hiện một số điều chỉnh. Lý do là vì nhiều tệp mà SuiteCRM bỏ qua, chẳng hạn như các tệp trong thư mục custom, lại là những gì tôi quan tâm đặc biệt, vì chúng liên quan đến logic tùy chỉnh và mô hình module.

## Phần đầu tiên từ 
# Bỏ qua các tệp .htaccess tùy chỉnh.
/.htaccess
# Bỏ qua phần lớn các tệp trong thư mục cache phiền phức mà không làm hỏng hệ thống.
cache/*
upload/*
!upload/index.html
# Bỏ qua chỉ mục AOD
modules/AOD_Index/Index/*
install/status.json
# Bỏ qua font PDF
modules/AOS_PDF_Templates/PDF_Lib/ttfontdata/
# Cấu hình connector cũng nên bị bỏ qua.
custom/modules/Connectors/connectors/sources/ext/*/*/config.php
# Các tệp nhật ký có thể an toàn bị bỏ qua.
*.log
## Các mục cụ thể của IDE
# Eclipse
*.pydevproject
.project
.metadata
bin/**
tmp/**
tmp/**/*
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath
# Emacs
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
.elc
auto-save-list
tramp
# IntelliJ Idea
*.iml
*.ipr
*.iws
.idea/
.phpstorm.meta.php
# NetBeans
nbproject/
# Vim
.*.sw[a-z]
*.un~
Session.vim
tags
# Windows
Thumbs.db
Desktop.ini
.DS_Store
.DS_Store?
# Microsoft Visual Studio
*.sln
*.suo
*.phpproj
# Microsoft Visual Studio Code
.vscode
# Disytel
lang_cmp.php
.kdev4/
SuiteCRM.kdev4
# Bỏ qua thư mục composer vendor
vendor/
public/
.php_cs.cache

# Bỏ qua bower_components
bower_components/
node_modules/

# Bỏ qua các tệp được sinh bởi Sass trong SuiteP
themes/SuiteP/css/*.map
themes/SuiteP/css/*/*.map
themes/SuiteP/css/*/color-palette.css
themes/SuiteP/css/*/variables.css
tests/_output/*

# Bỏ qua browserstack
BrowserStackLocal
browserstack.err
cache/
custom/**/
.sass-cache/
# Bỏ qua môi trường thử nghiệm
build/tmp/
# Thử nghiệm IMAP
fakeImapResource
include/Imap/ImapTestSettings.txt
# Bỏ qua bộ nhớ đệm php-cs-fixer
.php_cs.cache
# Bỏ qua các môi trường codeception tùy chỉnh để chúng không bị commit.
tests/_envs/custom.yml
codeception.yml

Vì tôi triển khai SuiteCRM trong thư mục /var/www, nơi mà thư mục thuộc về người dùng www-data, nên trước tiên tôi cần thêm tài khoản đăng nhập hiện tại vào nhóm www-data, sau đó cấp quyền ghi cho nhóm đối với thư mục chứa SuiteCRM. Chỉ như vậy tôi mới có thể thêm tệp .gitignore, nếu không sẽ không thể lưu.

1sudo chmod g+w suitecrm

Trên Nginx, tôi cần đảm bảo rằng thư mục .git không thể được truy cập từ bên ngoài. Cách tốt nhất là cấm truy cập tất cả các thư mục ẩn.

1# Từ chối mọi nỗ lực truy cập vào các tệp và thư mục ẩn như .htaccess, .htpasswd, .DS_Store (Mac), v.v...
2location ~ /\. {
3    deny all;
4    access_log off;
5    log_not_found off;
6}

Hy vọng rằng hướng dẫn này sẽ giúp bạn quản lý mã nguồn SuiteCRM hiệu quả hơn và tránh được các rủi ro tiềm ẩn trong quá trình vận hành hệ thống.