Tổng quan về tính năng Spinner API#

Mục đích sử dụng#

Spinner Api là tính năng mở rộng của Sun Spinner cho phép người dùng sử dụng một số tính năng của Sun Spinner với các hệ thống khác:

  • Thao tác một số tính năng của Sun Spinner mà không cần truy cập qua trang dashboard.

  • Tích hợp Spinner API vào trong tiến trình deploy ứng dụng của người dùng(CD).

Xác thực và phân quyền#

Spinner Api sử dụng phương thức xác thực qua API key. Để xác thực và phân quyền khi sử dụng Spinner API người dùng cần tạo một API Access Key. Từ Access Key người dùng sẽ lấy được token để tương tác với Spinner API qua Rest API

Quá trình CI/CD#

CD là một phần của quá trình làm việc liên tục và tự động hóa phần mềm. Qua trình này được gọi với cái tên đầy đủ là CI/CD và bao gồm các bước sau:

  • Trigger bắt đầu thực hiện CI/CD: khi code tính năng mới được commit và push lên repository quá trình CI/CD sẽ được bắt đầu. Quá trình này nên được diễn ra tự động.

  • Kiểm tra code: Trong giai đoạn này code sẽ được kiểm tra từ repository lưu trữ source code. Tool CI/CD sẽ nhận thông tin từ một cuộc thăm dò hoặc một webhook để trigger bắt đầu quá trình CI/CD.

  • Biên dịch code: Tool CI sẽ truy cập và sử dụng các công cụ để build ứng dụng của người dùng. Ví dụ ứng dụng được viết bằng ngôn ngữ java, người dùng sẽ sử dụng một số công cụ build như Maven hoặc Gradle.

  • Chạy các chương trình tests: Đây là giai đoạn chạy các chương trình test được viết trong ứng dụng của bạn.

  • Đóng gói code: Sau khi các bài test đều vượt quá thì code sẽ được đóng gói. Việc đóng gói ứng dụng phụ thuộc vào ngôn ngữ lập trình mà người dùng sử dụng và môi trường mong muốn. Nếu sử dụng java thì có thể build ứng dụng thành một file JAR. Nếu sử dụng docker container thì có thể build ứng dụng thành một docker image.

  • Triển khai ứng dụng: Ứng dụng sau khi được đóng gói sẽ được triển khai trên môi trường được chỉ định.

Step

Spinner API sẽ được tích hợp vào trong quá trình CD. Cụ thể thì có thể tham khảo bài viết chi tiết về xây dựng luồng CD cho ứng dụng ở đây.

Tính năng sắp ra mắt nhằm tích hợp cho full luồng CI/CD của ứng dụng.#

Trên thực tế Spinner API chỉ hỗ trợ cho việc cập nhật một ứng dụng nhất định(CD), còn hạn chế so với full flow CI/CD. Các tính năng hỗ trợ fully CI/CD đang được Sunteco phát triển và ra mắt trong thời gian sắp tới.