Asked Oct 2nd, 2018 1:22 p.m. 271 0 1
  • 271 0 1
0

Auto deploy project vue js

Share
  • 271 0 1

Chào mọi người, mình đang làm dự án sử dụng vue js trên repo github private. Mọi người cho mình hỏi là giờ mình muốn config CI để nó tự deploy mỗi khi merge code thì dùng dịch vụ gì là tốt ạ. Mình định thuer travis mà hình như hơi khó dùng và tốn phí. Ming nhận được suggest của mọi người

1 ANSWERS


Answered Oct 3rd, 2018 12:18 a.m.
Accepted
+4

Nếu project của bạn quy mô không quá to, và bạn cũng chỉ dùng CI cho 1 project đó, thì bạn nên sử dụng CircleCI, https://circleci.com

CircleCI miễn phí cho 1 concurrent job (1 bản build chạy ở 1 thời điểm), không phân biệt đó là bản build của private repo hay public repo. Hơn nữa CircleCI support First-Class Docker, tức bạn có thể chạy bản build bên trong một Docker Container mà mình chỉ định, nên dễ dàng config môi trường, cache lại các dependencies theo ý muốn. Vì thế CircleCI cho tốc độ build rất nhanh 😄

Nếu project của các bạn to quá, 1 concurrent build không thể đáp ứng được điều kiện, thì bạn nên tính đến trường hợp ... trả tiền để upgrade plan thôi 😂

Hoặc không thì bạn có thể tự build một service CI cho dịch vụ của mình sử dụng open source như Jenkins hoặc Drone xem sao 😉

Share
Avatar Van Hung @vhung
Oct 7th, 2018 4:09 a.m.

Cảm ơn câu trả lời của bạn, mình có tìm hiểu qua về CircleCI như bạn nói nhưng mình thấy nó cũng khá khó dùng. Bạn có link nào hướng dẫn cấu hình nó cho dự án vue js không cho mình xin với

0
| Reply
Share
Oct 8th, 2018 9:19 a.m.

@vhung bạn có thể nói qua bạn muốn config những gì không ?

0
| Reply
Share
Avatar Tran Duc Thang @thangtd90
Oct 8th, 2018 9:56 a.m.

@vhung

nhưng mình thấy nó cũng khá khó dùng

Chắc là do CircleCI nó mạnh mẽ quá với quá nhiều chức năng nổi trội nên chính vì thế sẽ sinh ra nhiều option config cho người dùng tuỳ ý customize 😂

Nhưng cũng chính điều đó sẽ làm nên sức mạnh cho CircleCI bạn ạ 😄

Không rõ bạn cần chạy những test tools gì, và muốn sử dụng công cụ gì để tiến hành auto deploy nhỉ 🤔

+1
| Reply
Share
Avatar Van Hung @vhung
Oct 8th, 2018 1:36 p.m.

@thangtd90 @HuyDQ Hiện tại thì dự án mình chưa viết test, mình đang deploy trên VPS, dùng ssh để access vào. Mình chỉ cần khi merge code thì circleci trigger event đó, access vào server và chạy lệnh npm run build thôi, như vậy thì cấu hình có phức tạp lắm ko nhỉ.

0
| Reply
Share
Avatar Tran Duc Thang @thangtd90
Oct 9th, 2018 12:41 a.m.

@vhung Nếu kế hoạch deploy của bạn phức tạp (hoặc có thể trở nên phức tạp sau này), bạn có thể tham khảo sử dụng các công cụ auto deploy, ví dụ như Shipit, hay Ansible.

Nếu đơn giản chỉ cần chạy một hai lệnh thì bạn có thể chạy thẳng chúng ở phần config SSH như hướng dẫn ở CircleCI Document

jobs:
  build:
    #...
  deploy:
    machine:
      enabled: true
    steps:
      - run:
          name: Deploy Over SSH
          command: |
            ssh $SSH_USER@$SSH_HOST "<remote deploy command>"
0
| Reply
Share
Avatar Van Hung @vhung
Oct 14th, 2018 8:37 a.m.

Cảm ơn bạn, mình làm được rồi

+1
| Reply
Share
Avatar Tran Duc Thang @thangtd90
Oct 14th, 2018 9:33 a.m.
0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.