Thứ năm, 11/02/2016 | 00:00 GMT+7

Cách triển khai ứng dụng Rails với azk

azk là một công cụ open-souce nhẹ mà bạn có thể sử dụng để điều phối các môi trường ứng dụng.

Một bài báo từ azk

Bạn đã bao giờ nhận được một ứng dụng đang chạy trên máy trạm local của bạn , chỉ để thấy rằng cài đặt hoàn toàn khác khi bạn triển khai nó đến một server production ?

Bài viết này giới thiệu một công cụ điều phối được gọi là azk, hiện được triển khai cho các ứng dụng này , nhưng có thể áp dụng cho nhiều ứng dụng khác. Khi bạn triển khai một ứng dụng sẵn sàng cho azk, bạn có thể chạy nó local trong quá trình production với ít phiền phức nhất.

azk làm cho nó nhanh chóng và dễ dàng để chạy không chỉ ứng dụng mà còn tất cả các phần phụ thuộc của nó, bao gồm hệ điều hành cần thiết, ngôn ngữ, khuôn khổ, database và các phần phụ thuộc khác (một nhiệm vụ tốn nhiều công sức, lặp đi lặp lại, lâu và do đó dễ xảy ra lỗi), cho dù bạn đang ở trong môi trường local hay server .

Mục đích của bài viết này là chỉ ra cách azk hoạt động như một công cụ điều phối, sử dụng một ứng dụng Rails đơn giản có tên là Stringer làm ví dụ.

azk thực hiện nhiều bước phía sau mức thấp để giúp việc điều phối dễ dàng hơn. Vì vậy, hướng dẫn này chứa một số bước tùy chọn không hoàn toàn cần thiết để cài đặt ứng dụng mẫu, nhưng giải thích những gì azk đang làm.

Ta sẽ chạy ứng dụng từ mã nguồn trên máy tính local của bạn , triển khai nó đến server , thực hiện một số thay đổi local , áp dụng các thay đổi và chứng minh khả năng khôi phục.

Sau khi hoàn thành bài viết này, bạn sẽ có một ý tưởng tốt về cách azk hoạt động như một công cụ điều phối cho quy trình phát triển / triển khai của bạn.

Làm thế nào nó hoạt động

Đầu tiên, azk sắp xếp môi trường của ứng dụng trên máy tính local của bạn. Sau khi bạn có ứng dụng chạy local , azk cũng tự động triển khai ứng dụng cho Server.

Vì azk luôn chạy các ứng dụng từ mã nguồn, bạn cũng có thể sửa đổi ứng dụng local (nếu muốn), sau đó triển khai hoặc quay lại, mà không cần thực hiện thêm bước đặc biệt nào.

azk cô lập các môi trường sử dụng vùng chứa , vì vậy có thể an toàn khi chạy các ứng dụng trên máy tính local của bạn. Nó hoạt động với cả các dự án mới bắt đầu từ đầu và mã hiện có trước đó.

Sử dụng azk với các ứng dụng tùy chỉnh

Sử dụng danh sách ứng dụng hiện tại được cấu hình sẵn để hoạt động với azk làm ví dụ, với một số công việc bổ sung, bạn có thể cấu hình bất kỳ dự án nào để hoạt động với azk.

Để thực hiện việc này, hãy thêm file Azkfile vào dự án.

Đó là một file kê khai đơn giản liệt kê các yếu tố cần thiết để chạy ứng dụng và tóm tắt các mối quan hệ của chúng (Hệ điều hành, ngôn ngữ, database , v.v.).

Các lợi ích của việc thêm Azkfile vào dự án của bạn bao gồm:

  • Sử dụng azk để tự động cài đặt môi trường cho dự án của bạn cả local và triển khai
  • Những người khác muốn triển khai ứng dụng của bạn có thể làm điều đó với azk

Soạn Azkfile nằm ngoài phạm vi của hướng dẫn này, nhưng bạn có thể kiểm tra tài liệu của azk để tìm hiểu cách tạo Azkfile và cách thêm nút Run Project GitHub vào mã của bạn.

Yêu cầu

Để làm theo hướng dẫn này, bạn cần một máy tính local chạy bất kỳ hệ điều hành nào sau đây (64-bit) cho môi trường local của bạn:

  • Mac OS X 10.6 (Snow Leopard) trở lên
  • Ubuntu 12.04, 14.04 hoặc 15.10
  • Fedora 21 hoặc 22

Bạn cũng cần có khả năng thực hiện commit git .

  • Máy tính local của bạn cần phải cài đặt Git. Xem loạt bài này về hướng dẫn sử dụng Git cho Linux hoặc truy cập trang download Git
  • Đảm bảo rằng bạn đã chạy các lệnh được đề xuất git config --global user.email "you@example.com"git config --global user.name "Your Name" trước khi bắt đầu hướng dẫn; xem các liên kết trước để biết chi tiết về Git

Lưu ý việc có một Server đang hoạt động không phải là một yêu cầu đối với hướng dẫn này. azk sẽ tạo một cái cho bạn bằng cách sử dụng API của DigitalOcean.

Triển khai Server tốn tiền! Hướng dẫn này triển khai một server 1 GB theo mặc định.

User Linux: Cài đặt Docker

Nếu đang sử dụng Linux (Ubuntu hoặc Fedora), bạn cần cài đặt Docker 1.8.1 trở lên làm phần mềm containers của bạn .

Một cách để cài đặt Docker là chạy lệnh cài đặt của Docker. (Nói chung, hãy đảm bảo bạn hiểu tập lệnh làm gì trước khi chạy nó ):

  • wget -nv https://get.docker.com/ -O- -t 2 -T 10 | bash

Nếu bạn muốn tìm hiểu thêm về cách cài đặt Docker trên Linux, hãy xem hướng dẫn có sẵn trên tài liệu chính thức hoặc bài viết cài đặt Docker của DigitalOcean.

User Mac OS X: Cài đặt VirtualBox

Bạn cần VirtualBox 4.3.6 trở lên làm phần mềm containers của bạn .

Để cài đặt VirtualBox, hãy download gói cài đặt Virtualbox thích hợp từ trang download chính thức.

Bước 1 - Cài đặt azk local

Ta sẽ cài đặt azk bằng cách sử dụng lệnh cài đặt của dự án. Đảm bảo rằng bạn hiểu những gì bất kỳ tập lệnh nào làm trước khi thực thi nó trên hệ thống.

Nếu bạn đã cài đặt version azk cũ hơn, bạn có thể sử dụng lệnh cài đặt đó để cập nhật azk.

Ngoài ra, hãy xem hướng dẫn cài đặt gói cho các hệ điều hành được hỗ trợ.

Cài đặt azk trên Linux

Nếu bạn đang sử dụng Linux (Ubuntu hoặc Fedora), hãy chạy lệnh này trong một terminal để cài đặt azk bằng cách sử dụng tập lệnh của dự án. Ta khuyên bạn nên kiểm tra bất kỳ tập lệnh nào trước khi chạy nó trên hệ thống của bạn :

  • wget -nv http://azk.io/install.sh -O- -t 2 -T 10 | bash

Sau khi cài đặt xong, hãy đăng xuất và sau đó đăng nhập lại để mọi thay đổi có hiệu lực.

Lý do bạn cần đăng xuất là vì trong quá trình cài đặt, user của bạn sẽ được thêm vào group docker . Đây là bước bắt buộc để ta có thể sử dụng Docker mà không cần phải là user root . Bạn phải thoát phiên hiện tại để điều này có hiệu lực.

Nếu bạn muốn tìm hiểu thêm về group Docker , bạn có thể kiểm tra tài liệu chính thức của Docker.

Cài đặt azk trên Mac OS X

Chạy lệnh này trong một terminal để cài đặt azk bằng cách sử dụng tập lệnh của dự án. Ta khuyên bạn nên kiểm tra bất kỳ tập lệnh nào trước khi chạy nó trên hệ thống của bạn :

  • curl -sSL http://www.azk.io/install.sh | bash

Bước 2 - Kiểm tra cài đặt azk

Sau khi cài đặt azk hoàn tất, hãy chạy lệnh bên dưới để kiểm tra xem quá trình cài đặt có thành công hay không:

  • azk version

Lệnh này xác minh version azk được cài đặt. Nếu nó trả về một số version (ví dụ: azk 0.17.0 trở lên), ta sẵn sàng tiếp tục và bạn có thể chuyển sang bước tiếp theo.

Chúc mừng bạn đã cài đặt azk cho môi trường local của bạn!

Nếu không, hãy đọc một trong các phần khắc phục sự cố bên dưới để được trợ giúp.

Khắc phục sự cố cài đặt azk cho Linux

Hãy kiểm tra version Docker được cài đặt bằng lệnh:

  • docker version

Bạn cần version 1.8.1 trở lên.

Tuy nhiên, nếu bạn nhận được thông báo lỗi, điều đó nghĩa là bạn chưa cài đặt Docker. Trong trường hợp đó, hãy làm theo hướng dẫn cài đặt cụ thể cho hệ điều hành của bạn từ tài liệu của Docker.

Sau khi bạn xác nhận bạn đã cài đặt version Docker thích hợp, hãy chạy lệnh này với quyền là user sudo của bạn đảm bảo user của bạn nằm trong group docker :

  • id -Gn

Nếu danh sách group của bạn bao gồm docker , điều đó nghĩa là nó đã được cấu hình chính xác. Ngược lại, nếu bạn không nhận được từ docker trong số chúng, hãy chạy lệnh này để thêm user của bạn vào group :

  • sudo usermod -aG docker $USER

Sau đó đăng xuất và đăng nhập lại.

Kiểm tra lệnh id -Gn đảm bảo nó trả về danh sách các group có docker trong số đó.

Nếu những hướng dẫn này không đủ để bạn chạy Docker đúng cách (ví dụ: bạn vẫn không thể chạy thành công lệnh docker version ), hãy tham khảo hướng dẫn cài đặt của Docker .

Khắc phục sự cố cài đặt azk cho Mac OS X

Đảm bảo rằng bạn đã cài đặt VirtualBox:

  • which VBoxManage

Nếu điều này trả về một đường dẫn file (chẳng hạn như /usr/local/bin/VBoxManage ), ta nên tiếp tục. Ngược lại, nếu nó trả về thông báo “not found”, điều đó nghĩa là bạn chưa cài đặt VirtualBox.

Trong trường hợp này, hãy download và cài đặt gói cài đặt VirtualBox từ trang web chính thức của họ.

(Tùy chọn) Bước 3 - Tìm hiểu về Ứng dụng Demo, Stringer

Ta chọn Stringer làm ứng dụng demo cho hướng dẫn này vì nó là một ứng dụng đơn giản đã được cấu hình để hoạt động với azk.

Đó là một ứng dụng Rails với một trường hợp sử dụng được xác định rõ ràng: một trình đọc RSS đơn giản.

Thông tin thêm về Stringer:

Một số trang tin tức cũng cung cấp nội dung của họ dưới dạng nguồn cấp dữ liệu RSS. Đây là định dạng file XML tiêu chuẩn cho phép các nhà xuất bản cung cấp dữ liệu tự động. Trình đọc RSS là một chương trình được sử dụng để đăng ký và trình bày nội dung RSS. Đăng ký vào một trang web Nguồn cấp dữ liệu RSS loại bỏ nhu cầu user phải kiểm tra trang web theo cách thủ công để tìm nội dung mới. User có thể tạo danh sách các nguồn cấp dữ liệu đã đăng ký và sử dụng nội dung của chúng trên trình đọc RSS (thường ở định dạng danh sách được sắp xếp theo thứ tự cronologic).

(Tùy chọn) Bước 4 - Cấu hình ứng dụng tùy chỉnh để sử dụng azk

Trong khi trọng tâm chính của hướng dẫn này là chỉ ra cách azk hoạt động cho một ứng dụng đã có thông tin chi tiết về môi trường của nó cho azk, về lâu dài, công cụ này hữu ích nhất khi bạn có thể sử dụng nó để triển khai bất kỳ ứng dụng nào.

Vì vậy, hãy xem phiên bản Stringer được phân nhánh này so với kho lưu trữ Stringer chính như thế nào.

Phiên bản azk chỉ có hai bổ sung so với version root của Stringer:

  • Một Azkfile , cung cấp thông tin môi trường cho azk
  • Một nút azk Run Project

Bạn có thể tìm hiểu thêm về cách làm cho azk hoạt động với các ứng dụng khác từ tài liệu của azk trên Azkfile và nút Run Project .

Tiếp theo, ta sẽ xem một ứng dụng thân thiện với azk trông như thế nào trên GitHub.

(Tùy chọn) Bước 5 - Sử dụng nút Run Project của azk trên GitHub

Một phần trong các phương pháp hay nhất của azk cho các dự án GitHub là làm cho nó thật rõ ràng về cách chạy dự án đó với azk. Vì vậy, thay vì chỉ hiển thị lệnh azk ở giữa readme của dự án, các dự án sử dụng azk có thể sử dụng nút Run Project để cô lập lệnh azk một cách trực quan.

Stringer sử dụng nút này.

Truy cập phần Chạy cục bộ của version Stringer đã phân nhánh của azk.

Nhấp vào nút Chạy dự án .

Chạy nút Project trên dự án Stringer

Lần đầu tiên bạn nhấp vào nút Run Project , bạn sẽ thấy một lời giải thích ngắn gọn về những gì đang xảy ra. Khi đã sẵn sàng để tiếp tục, chỉ cần nhấp vào OK, BỎ LỠ ở cuối phần giải thích.

'Azk là gì?' thông điệp

Sau đó, bạn sẽ được đưa đến một trang có lệnh azk cho dự án Stringer:

  • azk start -o run-project/stringer

Lệnh chạy ứng dụng Stringer bằng azk: azk start -o run-project / stringer

Bạn luôn có thể nhấp vào Đây là gì? ở góc trên bên phải để xem lại lời giải thích.

Ở giữa màn hình, có một hộp lệnh với ba tab: curl , wgetazk . Vì ta đã cài đặt azk nên ta có thể sử dụng azk .

Đây là lệnh ta sẽ sử dụng trong bước tiếp theo để thực sự chạy Stringer.

Bước 6 - Chạy Stringer local

Trong phần này, ta sẽ sử dụng azk để chạy Stringer trên máy trạm local của ta .

Trên máy tính local của ta , hãy đảm bảo ta đang ở trong folder chính của ta (nếu bạn chọn một folder cài đặt khác, chỉ cần nhớ điều chỉnh các lệnh sau đó với folder bạn đã chọn):

  • cd ~

Tiếp tục và chạy lệnh đó trên máy trạm local của bạn để chạy Stringer:

  • azk start -o run-project/stringer

Vì đây là lần đầu tiên bạn bắt đầu sử dụng azk, bạn cần chấp nhận các điều khoản dịch vụ của nó. Một thông báo như sau sẽ được yêu cầu :

? =========================================================================   Thank you for using azk! Welcome!   Before we start, we need to ask: do you accept our Terms of Use?   http://docs.azk.io/en/terms-of-use  =========================================================================  (Y/n) 

Nhấn Y nếu bạn đồng ý hoặc N nếu không. Sau đó nhấn ENTER để thông báo câu trả lời của bạn. Trong trường hợp bạn không đồng ý, bạn sẽ không thể sử dụng azk.

Cuối cùng, azk sẽ tự động download mã nguồn của Stringer cũng như Azkfile đính kèm để chạy mã này trong một môi trường hoàn toàn an toàn và biệt lập trên máy tính local của bạn.

Tiếp theo, bạn sẽ được hỏi có muốn bắt đầu đại lý azk hay không:

Đầu ra
? The agent is not running, would you like to start it? (Y/n) 

Tác nhân là một thành phần azk cấu hình Docker (trên Linux) hoặc máy ảo VirtualBox (trên Mac OS X).

Nhấn ENTER để trả lời “Có” (tùy chọn mặc định).

Lần đầu tiên bạn chạy đại lý, azk sẽ chạy cài đặt của nó.

Quá trình cài đặt thực hiện rất nhiều việc đằng sau mức thấp , bao gồm tạo file /etc/resolver/dev.azk.io , chứa cấu hình DNS để phân giải các địa chỉ kết thúc bằng hậu tố dev.azk.io

azk sử dụng hậu tố này khi chạy các ứng dụng để áp dụng địa chỉ mà con người có thể đọc được cho chúng thay vì yêu cầu ta cấu hình thủ công địa chỉ http://localhost:PORT_NUMBER . Điều này cũng tránh xung đột cổng trên các ứng dụng khác nhau.

(Về cơ bản, nó làm điều tương tự như chỉnh sửa file /etc/hosts để chuyển hướng một domain local .)

Nếu bạn nhận được một thông báo như sau:

Đầu ra
? Enter the vm ip: (192.168.50.4) 

Bạn có thể nhập bất kỳ địa chỉ IP local nào mà bạn muốn chạy ứng dụng. Mặc định sẽ ổn cho hầu hết các trường hợp. Để chấp nhận nó, chỉ cần nhấn ENTER .

Để hoàn tất cài đặt tác nhân azk, bạn cần nhập password sudo của bạn (đối với user Mac OS X, đây là password quản trị của bạn).

Bây giờ azk sẽ bắt đầu. Bạn sẽ thấy azk download các phần tử được liệt kê trong Azkfile (ở dạng Docker image ).

Có thể mất vài phút để download những hình ảnh này lần đầu tiên (khoảng 10 phút hoặc ít hơn).

Ngay sau khi azk hoàn tất cài đặt , trình duyệt mặc định của bạn sẽ tự động tải màn hình ban đầu của Stringer đang chạy trên máy tính local của bạn.

Stringer đang hoạt động

Truy cập ứng dụng Stringer

Như bạn thấy , nó sử dụng DNS local , vì vậy ứng dụng có thể hiển thị tại http://stringer.dev.azk.io . Bạn cũng có thể truy cập ứng dụng theo cách thủ công bằng cách truy cập http://stringer.dev.azk.io .

Nếu bạn muốn đặt password và bắt đầu sử dụng ứng dụng, bạn có thể nhưng không cần thiết cho hướng dẫn này. Ta chỉ muốn thấy rằng azk có thể chạy Stringer local .

Bây giờ ta có Stringer đang chạy trên máy tính local của bạn , ta có thể triển khai nó từ máy tính thành Server.

Bước 7 - Lấy mã thông báo API DigitalOcean

Trước khi có thể triển khai Server từ azk, ta cần có mã thông báo API. Mã thông báo cấp cho azk quyền triển khai server DigitalOcean mới trên account của bạn.

Lần đầu tiên bạn chạy azk từ môi trường này với mã thông báo này, nó sẽ triển khai 1 GB Ubuntu 14.04 Server mới. Các triển khai tiếp theo từ cùng một môi trường local sẽ sử dụng cùng một Server đơn lẻ đó.

Làm theo hướng dẫn từ phần Cách tạo Mã truy cập cá nhân của hướng dẫn được liên kết. Mã thông báo được tạo phải có quyền đọc và ghi .

Sao chép 64 ký tự thập lục phân của mã thông báo của bạn, tương tự như ví dụ bên dưới:

Mã thông báo API mẫu
a17d6a72566200ad1a8f4e090209fe1841d77d7c85223f769e8c5de47475a726 

Bạn sẽ chỉ nhìn thấy chuỗi mã thông báo một lần, vì vậy hãy ghi lại nó ở một nơi an toàn. ( Lưu ý , nếu mã thông báo này bị xâm phạm, nó được dùng để truy cập vào account của bạn, vì vậy hãy giữ nó ở chế độ riêng tư.)

Đối với các hướng dẫn bên dưới, hãy nhớ thay thế mã thông báo mẫu bằng mã thông báo thực của bạn.

Đi tới folder của Stringer:

  • cd ~/stringer

Lưu Mã thông báo truy cập cá nhân của bạn trong một file mà bạn sẽ gọi là .env . Để thực hiện việc này, hãy chạy lệnh này để tạo file (đừng quên thay thế mã thông báo):

  • echo "DEPLOY_API_TOKEN=a17d6a72566200ad1a8f4e090209fe1841d77d7c85223f769e8c5de47475a726" >> .env

Nội dung file .env sẽ giống như sau:

.env
DEPLOY_API_TOKEN=a17d6a72566200ad1a8f4e090209fe1841d77d7c85223f769e8c5de47475a726 

(Tùy chọn) Bước 8 - Tìm hiểu về Khóa SSH

Bạn không phải làm bất cứ điều gì để cài đặt SSH key cho azk, nhưng sẽ rất hữu ích nếu biết cách azk sử dụng khóa.

azk sử dụng SSH key để truy cập Server. Nếu bạn đã có SSH key , azk sẽ sử dụng khóa đó.

Để tìm hiểu xem bạn có SSH key trên máy tính của bạn hay không, hãy chạy:

  • ls ~/.ssh/*.pub

Nếu nó trả về thông báo “không tìm thấy”, bạn không có bất kỳ SSH key nào trên máy tính của bạn .

Trong trường hợp đó, azk sẽ tự động tạo SSH key mới để sử dụng riêng cho việc triển khai từng ứng dụng mới từ máy tính của bạn.

azk sẽ tạo khóa của nó trong bộ nhớ dành riêng và sẽ không thực hiện bất kỳ sửa đổi nào đối với ~/.ssh của bạn.

Nếu bạn muốn kiểm tra public key đã tạo, bạn có thể chạy lệnh sau sau lần triển khai ứng dụng đầu tiên:

  • azk deploy shell -c "cat /azk/deploy/.config/ssh/*.pub"

Để tìm hiểu thêm về SSH key nói chung, hãy đọc hướng dẫn này về SSH key .

Bước 9 - Triển khai với azk

Theo mặc định, azk sẽ tạo một server DigitalOcean 1 GB chạy Ubuntu 14.04 để triển khai ứng dụng của bạn.

Nếu bạn muốn triển khai Server với các thông số kỹ thuật khác nhau, bạn có thể thay đổi cài đặt trong thuộc tính envs của hệ thống deploy trong file Azkfile.js . Tham khảo tài liệu triển khai azk để biết thêm hướng dẫn.

Đầu tiên, hãy chuyển đến folder của Stringer (hoặc ứng dụng của bạn):

  • cd ~/stringer

Sau đó, để bắt đầu triển khai, chỉ cần chạy:

  • azk deploy

Lệnh azk deploy là lệnh bạn sẽ chạy thường xuyên nhất khi sử dụng azk để sắp xếp ứng dụng của bạn .

Việc triển khai đầu tiên có thể mất một lúc (khoảng 10 phút) vì azk thực hiện tất cả công việc.

Cụ thể, azk phải:

  • Download các phần tử hỗ trợ ( Docker image để triển khai)
  • Tạo và cấu hình Server
  • Tải mã nguồn của ứng dụng lên Server
  • Chạy ứng dụng

Mọi triển khai mới của ứng dụng này từ máy tính của bạn sẽ nhanh hơn rất nhiều (khoảng 30 giây hoặc ít hơn) vì các bước dài hơn sẽ được hoàn thành.

Nếu SSH key của bạn được bảo vệ bằng password , nó sẽ được yêu cầu một vài lần trong quá trình triển khai. Chỉ cần nhập password SSH key của bạn và nhấn ENTER mỗi khi có thông báo như bên dưới xuất hiện:

Đầu ra
Enter passphrase for ~/.ssh/id_rsa: 

Kết quả terminal sẽ hiển thị khá nhiều hành động đang được thực hiện trên hệ thống từ xa , kết thúc bằng thông báo triển khai App successfully deployed at http:// your_server_ip .

Stringer đã được triển khai thành công

Truy cập http:// your_server_ip để xem ứng dụng được lưu trữ trên server của bạn.

Truy cập Stringer đang chạy trong một  server

Từ bây giờ, bạn có thể thay đổi mã của ứng dụng trên máy tính của bạn , kiểm tra local và áp dụng các thay đổi đối với Server bằng lệnh azk deploy .

Bước 10 - Sửa đổi chuỗi ký tự

Để cho thấy việc sử dụng azk để phát triển ứng dụng, tùy chỉnh hoặc kiểm soát version dễ dàng như thế nào, hãy thực hiện một thay đổi đơn giản đối với trang đăng ký Stringer và triển khai lại ứng dụng.

Hãy chắc chắn rằng bạn đang ở trong folder của Stringer:

  • cd ~/stringer

Hãy chỉnh sửa file app/views/first_run/password.erb , là trang chứa văn bản cho trang đăng ký đầu tiên đó.

Sử dụng nano hoặc editor yêu thích của bạn:

  • nano ~/stringer/app/views/first_run/password.erb

Ở đây ta đang thêm một dòng bổ sung có nội dung “Thật dễ dàng với azk!”:

app / views / first_run / password.erb
<div class="setup" id="password-setup">   <h1><%= t('first_run.password.title') %> <span class="orange"><%= t('first_run.password.anti_social') %></span>.</h1>   <h2><%= t('first_run.password.subtitle') %></h2>   <h2>It's easy with azk!</h2>   <hr />   . . . </div> 

Lưu và thoát khỏi editor . Nếu bạn đang sử dụng nano, hãy nhấn CTRL+O để lưu và CTRL+X để thoát.

Vì Stringer được đặt để chạy ở chế độ production theo mặc định, nên việc làm mới trình duyệt của bạn không đủ để làm cho thay đổi có hiệu lực. Khởi động lại ứng dụng từ azk:

  • azk restart stringer -o

Một tab trình duyệt mới sẽ mở ra với version mới của Stringer. Ngay bên dưới văn bản mặc định Chỉ có một user : bạn. , bây giờ có thể nói Thật dễ dàng với azk! cũng.

Bước 11 - Triển khai lại chuỗi ký tự

Bây giờ, hãy commit các thay đổi vào hệ thống kiểm soát version của ta để ta có thể triển khai chúng.

  • git add app/views/first_run/password.erb
  • git commit .

Bạn sẽ được hiển thị một editor (rất có thể là nano hoặc vim).

Nhập một thông báo commit , như It is easy with azk .

Thông báo commit này sẽ được sử dụng để gắn nhãn các version ứng dụng của bạn trong azk, vì vậy hãy chọn một thông báo sẽ kích hoạt bộ nhớ của bạn nếu bạn cần khôi phục lại sau này.

Lưu và đóng thông báo commit .

Nếu bạn nhận được lỗi fatal: empty ident name (for <sammy@azk.(none)>) not allowed , vui lòng chạy các lệnh cài đặt được đề xuất cho Git để đặt địa chỉ email và tên (thêm chi tiết trong phần Yêu cầu ).

Để triển khai thay đổi và cập nhật ứng dụng đang chạy trên Server, hãy chạy:

  • azk deploy

Sau khi hoàn tất, hãy truy cập địa chỉ IP của Server từ trình duyệt của bạn (ví dụ: http:// your_server_ip ). Bạn sẽ thấy dòng mới Thật dễ dàng với azk! cũng ở đây.

Phiên bản mới của Stringer chạy trên Server

Việc triển khai mới này sẽ tạo ra một version mới của ứng dụng trên Server. Tất cả các version của ứng dụng đều được lưu trữ, vì vậy bạn có thể quay lại version trước rồi chuyển tiếp lần nữa.

Bước 12 - Quay lại version trước

Để liệt kê tất cả các version có sẵn của ứng dụng của ta trên Server, hãy chạy lệnh này local :

  • azk deploy versions

Điều này sẽ dẫn đến một danh sách như:

Đầu ra
⇲ Retrieving deployed versions...    ➜ v2              It is easy with azk     v1              Merge branch 'master' of https://github.com/swanson/stringer 

Để khôi phục ứng dụng về version cũ hơn, chỉ cần chạy:

  • azk deploy rollback v1

Đối số v1 là số version được hiển thị bằng kết quả của lệnh azk deploy versions . Nếu bạn chạy lệnh mà không có đối số (ví dụ: azk deploy rollback ), ứng dụng sẽ được khôi phục về version ngay trước version hiện tại.

Để kiểm tra xem quá trình khôi phục đã hoàn tất hay chưa, chỉ cần làm mới tab trình duyệt đang hiển thị version server .

Bây giờ, bạn sẽ thấy ứng dụng không có văn bản tùy chỉnh của ta , giống như cách nó đã được triển khai ban đầu.

Nếu muốn tiếp tục, bạn có thể chọn version mới nhất:

  • azk deploy rollback v2

Các nhãn cho các version này đến từ các thông báo git commit trong bước trước.

Kết luận

Trong hướng dẫn này, ta đã sử dụng một ứng dụng Rails đơn giản để chứng minh cách azk tự động hóa các việc cài đặt môi trường ứng dụng của ta . Điều này giúp bạn dễ dàng triển khai cùng một ứng dụng trong nhiều môi trường.

Nếu bạn thích quy trình triển khai của azk, hãy xem xét sử dụng nó cho dự án của bạn hoặc thêm Azkfile vào một nhánh của dự án open-souce khác. Tìm hiểu về cách tạo Azkfile tại đây và cách thêm nút Run Project GitHub tại đây .

Hoặc, bạn có thể xem thư viện trình diễn này của các ứng dụng khác đã được hoàn thiện để chạy với azk.

Bên cạnh việc rollbackversions , azk hỗ trợ các lệnh con backend khác cho phép ta thực hiện một số hành động bổ sung (ví dụ: truy cập shell của Server thông qua SSH).

Kiểm tra danh sách lệnh con đầy đủ trong tài liệu của azk .


Tags:

Các tin liên quan