30/09/2018, 16:26

[HỎI] Mọi người biết gì về jenkins?

Mình được giao tìm hiểu về jenkins, theo tìm hiểu sơ bộ thì nó là 1 freeware dùng để quản lí trong quá trình develope software theo model Agile.

Đây là web chính của dự án http://jenkins-ci.org/

Tuy nhiên mình tìm hiểu thì trên mạng còn ít guide về cái này quá, ai có kinh nghiệm xài qua cái này có thể share cho mình chút ít được không.

Mình tìm được 1 guide trên slideshare, toàn tiếng Anh thôi(tất nhiên ), mình share lên đây luôn để mọi người rảnh rỗi nghía qua cùng tìm hiểu, ai biết được gì hay ho thì share lên với nhé

http://www.slideshare.net/demetra512/jenkins-guide?next_slideshow=1

maivanquan viết 18:32 ngày 30/09/2018

có down đc về từ đây ko nhỉ

Nadreasky viết 18:39 ngày 30/09/2018

rất tiếc là tác giả quyển sách disable cái vụ down load rồi bạn

Tho Manh viết 18:41 ngày 30/09/2018

bạn muốn làm gì với nó, mình biết chút ít

maivanquan viết 18:40 ngày 30/09/2018

bạn muốn làm gì với nó, mình biết chút ít

@nadreak muốn nghiên cứu ý

Nadreasky viết 18:40 ngày 30/09/2018

cách sử dụng nó đó bạn

Võ Hoài Nam viết 18:30 ngày 30/09/2018

nó dùng để chạy test theo dạng Continuous Integration, đây là một bước trong eXtreme Programming (XP). Mình chưa từng sử dụng jenkins-ci bao giờ nhưng đã sử dụng qua travis-ci.

Hôm bữa, mình có trao đổi với thầy của mình về vụ Continuous Integration thì cả 2 thầy trò mình thấy nó cảm giác giống như là System Testing kết hợp với Integration Testing.

Mình chia sẻ như vậy vì thấy travis-ci có điểm tương đồng với jenkins-ci qua một số tài liệu đã mô tả. Mình có nói chỗ nào chưa đúng, mong mọi người góp ý

Daniel viết 18:29 ngày 30/09/2018

Bạn ơi. travis-ci có dùng với gitlab được không nhỉ? hay nó chỉ tích hợp vs gitlab thôi!

Võ Hoài Nam viết 18:28 ngày 30/09/2018

Cái đó mình không rõ lắm. Lúc trước thì mỗi lần mình push code lên GitHub là travis-ci tự động chạy. Bạn coi ở trang chủ để rõ hơn.

https://travis-ci.org/

Uncelvel viết 18:31 ngày 30/09/2018

GitLab có Gitlab-CI nhé bồ.

Phan Hoàng viết 18:37 ngày 30/09/2018

Bạn Nam nói khá chuẩn rồi đó. CI = continuous intergration, nghĩa là tích hợp liên tục. Context ở đây khá đơn giản:

  • Bạn làm trong 1 team, vậy tester phải làm thế nào để có được source code mới nhất test. Nếu làm bằng tay, các bạn ý sẽ phải biết git client, rồi deploy lên môi trường test, … (khá tốn time, mặc dù tester chỉ cần biết vào UI để test).
  • Giải pháp: dùng soft làm tự động, cứ mỗi khi có 1 checkin lên master/dev branch (đã được dev test kỹ nhé), thì jenkin chạy build bản mới nhất, deploy app lên môi trường test (+ và chạy một vài thứ nữa …). Có 1 số chiến thuật build, ví dụ như build buổi đêm để sáng mai là tester có việc để làm (gọi là nighly build), hoặc build khi có 1 checkin với status (Pass all UnitTest,…)
  • Cái chạy 1 số thứ nữa ở trên, có thể như chạy UnitTest (viết app dạng Test driven development). Giả sử có khoảng 1000 unit-test, bạn có đủ kiên nhẫn chạy bằng tay không? (vì khi tích hợp thì rất có thể app sẽ không còn stable nữa và các feature mới sẽ impact sang các feature cũ). Nhưng CI thì nó đủ kiên nhẫn vì mình viết plan cho nó mà. Mình chỉ cần nhìn vào report sẽ biết UT nào fail (màu đỏ). Cái này giống như trò chơi xanh đỏ ý, lúc đầu khi chưa có code pass UT, toàn đỏ lòm, sau xanh dần, thêm feature mới, lại đỏ lòm, thậm chỉ đỏ cả những vùng trước kia xanh.

Cách dùng: viết plan bằng YML. Jenkin có tool để config plan rất trực quan, click và tick.

Phan Hoàng viết 18:42 ngày 30/09/2018

Dùng với cái gì chẳng được bạn. Soft này là soft riêng biệt, nên muốn tích hợp thì bạn gọi WebHook của bọn GitLab hoặc GitHub hoặc BitBucket. Tuy nhiên, mình thì nghĩ không cần thiết checkin code là build. Thường với tool như travis, genkin, cruisecontrol, bamboo, … mình config build vào buổi tối, hoặc vài ngày 1 lần. Chứ build mỗi khi checkin, nhỡ checkin đấy gây lỗi thì cả ngày đó tester ngồi chơi ah.

Bài liên quan
0