Jenkins là gì? Build, deploy tự động với Jenkins

Jenkins là gì? Build, deploy tự động với Jenkins.

Trong bài này chúng ta sẽ tìm hiểu cách mà người ta triển khai ứng dụng lên server như nào.

  • Cách thủ công: ví dụ mình có 1 project java, muốn deploy project này nên server thì ta cần build nó thành file jar. Sau đó copy file jar nên server và chạy lệnh java -jar. Hoặc nếu là file war thì ta cần cài đặt tomcat trên server rồi upload file war lên đó. Tuy nhiên cách này khá mất công và không thể kiểm tra được có deploy thành công không vì có thể môi trường trên server khác với môi trường triển khai.
  • Cách hiện đại (tự động): Toàn bộ quá trình lấy code mới nhất, build, deploy đều được thực hiện tự động, nếu có lỗi do code hay do môi trường thì sẽ nhận được thông báo. Để thực hiện được việc này ta cần phần mềm CI như Jenkins, Bamboo…

1. Jenkins là gì?

Jenkins là một phần mềm mã nguồn mở cho phép thực hiện việc tích hợp liên tục và triển khai liên tục trong phát triển phần mềm (commit code, build, test, deploy…)

Ví dụ, 1 project được phát triển bởi nhiều developer, mỗi developer lại viết code trên một môi trường khác nhau. Sau khi viết code, tất cả các developer đều sẽ commit code nên một source chung (Git, SVN…). Jenkins sẽ thực hiện pull source code đó về, tự động build, test và deploy lên các môi trường cho tester thực hiện test. Nếu không có lỗi thì sẽ deploy lên môi trường product. Hoặc nếu quá trình build, test bị failed (do lỗi code, do môi trường, …) thì sẽ thông báo cho developer để sửa.

Jenkins là gì? Build, deploy tự động với Jenkins

Một số phần mềm tương tự Jenkins: Bamboo, CruiseControl…

CI/CD là gì?

Khi tìm hiểu Jenkins, ta có 2 khái niệm cần hiểu rõ là CI/CD:

  • CI (Continuous Integration): Tích hợp liên tục, tức là sau code được commit sẽ được tự động pull về, build, test
  • CD (Continuous Delivery): Chuyển giao liên tục, tức là code sau khi build sẽ được tự động test, deploy lên các môi trường

2. Pull Code, Build, Deploy tự động với Jenkins

Jenkins được viết bằng Java, là một web application nên nó chạy trên 1 web server (ví dụ Tomcat).

Dưới dây là list các hướng dẫn để thực hiện cài đặt Jenkins và thực hiện pull 1 project maven từ github về để build và deploy

Khác:

 

Jenkins là gì? Build, deploy tự động với Jenkins

Okay, Done!

References:

https://www.jenkins.io/doc/

https://www.guru99.com/jenkin-continuous-integration.html

stackjava.com