Cách triển khai blog Jekyll với Git
Jekyll là một công cụ tạo các trang HTML tĩnh từ folder file Markdown. Điều này là thuận lợi vì trang web kết quả là nhanh, di động và dễ dàng cho các server như nginx phục vụ đồng thời cho nhiều user mà không cần dùng đến bộ nhớ đệm. Cách phổ biến nhất để sử dụng Jekyll là giữ các file trên trang web trong repository lưu trữ Git , chỉnh sửa chúng local và sử dụng git push
để triển khai trang web cho VPS của bạn.
Cài đặt local
Nếu chưa có, bạn cần cài đặt Ruby, Jekyll và Git trên máy local của bạn .
Đối với Ruby, bạn có thể cài đặt version mới nhất của Ruby 2.0 với RVM bằng một lệnh duy nhất:
curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0
Sau khi hoàn tất (sẽ mất vài phút), hãy đăng xuất và đăng nhập lại. Việc cài đặt Jekyll chỉ đơn giản là lấy được jekyll
gem.
gem install jekyll
Đến đây bạn cần Git, bạn có thể download từ trang web chính thức hoặc sử dụng trình quản lý gói để cài đặt. ( User Mac có thể sử dụng Homebrew , những người trên Linux có thể đã biết họ đang làm gì…)
Tạo một Blog
Trang web Jekyll có hướng dẫn bắt đầu nhanh để sử dụng công cụ cũng như tài liệu hướng dẫn kỹ . Ta sẽ đề cập đến những điều cơ bản tuyệt đối ở đây, nhưng để sử dụng và tùy chỉnh hàng ngày, bạn nên tham khảo hướng dẫn của họ.
Điều hướng đến bất kỳ nơi nào bạn muốn lưu trữ các file blog của bạn trên máy local và tạo một blog mới như vậy:
jekyll new awesomeblog
Thao tác này sẽ tạo một folder awesomeblog
chứa các file cấu hình, folder bài đăng và các bit cần thiết khác. Đến đây bạn có thể thay đổi folder đó và kích hoạt một quy trình server để xem trước nó trong trình duyệt của bạn.
cd awesomeblog jekyll serve
Jekyll sẽ xây dựng blog của bạn và sau một vài giây, bạn có thể truy cập http://localhost:4000
trong trình duyệt của bạn .
Bây giờ, hãy khởi tạo repository Git trong cùng một folder , vì vậy mọi thay đổi bạn thực hiện đều có thể được theo dõi.
git init git add . git commit -m "Initial commit"
Chuẩn bị VPS
Để ngắn gọn, tôi sẽ giả sử bạn đã có một VPS chạy một web server như nginx hoặc Apache. (Tôi cũng sẽ giả sử folder HTML công cộng của bạn là /var/www
, mặc dù nó có thể khác nhau tùy thuộc vào bản phân phối và cấu hình của bạn.) Nếu bạn chưa làm được điều này, hãy tham khảo nhiều hướng dẫn có sẵn trên nginx .
Đầu tiên, cài đặt Git trên VPS của bạn. Trong trường hợp của Ubuntu hoặc Debian, bạn cài đặt gói git-core
bằng lệnh sau.
apt-get install git-core
Nếu bạn đang sử dụng một bản phân phối khác, điều này có thể thay đổi. Fedora, chẳng hạn, sử dụng yum install git-core
để thay thế.
Bạn cũng cần cài đặt Ruby và Jekyll. Giống như trước đây:
curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0 gem install jekyll
Thứ hai, thay đổi folder chính của bạn và tạo một “kho lưu trữ trống” mới để triển khai.
cd ~/ mkdir repos && cd repos mkdir awesomeblog.git && cd awesomeblog.git git init --bare
Sau đó, ta cần cài đặt một móc sau nhận. Đây là một tập lệnh shell mà Git chạy khi các file được đẩy đến một repository . Tạo nó như vậy:
cd hooks touch post-receive nano post-receive
Bây giờ paste vào tập lệnh sau, điều chỉnh các biến cho phù hợp. GIT_REPO
là đường dẫn đến repository trống được tạo ở bước trước, TMP_GIT_CLONE
là vị trí mà tập lệnh sẽ kiểm tra các file và xây dựng blog trước khi sao chép chúng vào /var/www
. PUBLIC_WWW
là đường dẫn nơi trang web cuối cùng sẽ cư trú. Trong ví dụ này (giả sử web root của bạn là /var/www
), trang web sẽ xuất hiện tại http://example.org/awesomeblog
, trong khi nó sẽ xuất hiện tại http://example.org
nếu thay vào đó PUBLIC_WWW
đọc /var/www
.
#!/bin/bash -l GIT_REPO=$HOME/repos/awesomeblog.git TMP_GIT_CLONE=$HOME/tmp/git/awesomeblog PUBLIC_WWW=/var/www/awesomeblog git clone $GIT_REPO $TMP_GIT_CLONE jekyll build --source $TMP_GIT_CLONE --destination $PUBLIC_WWW rm -Rf $TMP_GIT_CLONE exit
Lưu file bằng cách nhấn Control + O và nhấn phím enter. Sau đó cấp quyền thực thi file .
chmod +x post-receive
Thêm điều khiển từ xa Git
Quay lại máy local của bạn, thêm điều khiển từ xa vào repository Git của blog.
git remote add server user@example.org:repos/awesomeblog.git
Bây giờ, bạn có thể đẩy các commit mới nhất của bạn lên server bằng lệnh sau:
git push server master
Khi nào bạn tạo một bài đăng blog mới trong Jekyll, hãy commit các thay đổi đối với repository Git và đẩy lên VPS của bạn. Server cloud sẽ xây dựng trang web và các thay đổi sẽ có hiệu lực trong vòng vài giây.
<div class = “author”> Bài viết được gửi bởi: <a href=p>https://twitter.com/redwall_hp[> Matt Harzewski </a> </div>
Các tin liên quan