Auto deploy project vue js
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 CÂU TRẢ LỜI
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
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
@vhung bạn có thể nói qua bạn muốn config những gì không ?
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ỉ
@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ỉ.
@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>"
Cảm ơn bạn, mình làm được rồi