Jenkins là một server tự động hóa mã nguồn mở được viết bằng ngôn ngữ Java. Jenkins giúp tự động hóa các công đoạn “non-human” của quá trình phát triển phần mềm, với CI (Continuous Integration – sự tích hợp liên tục) và tạo điều kiện thuận lợi cho các khía cạnh kỹ thuật của CD (Continuous Delivery – sự phân phối liên tục). Đây là một hệ thống server chạy trong container servlet như Apache Tomcat. Jenkins có thể thực thi các dự án dựa trên Apache Ant, Apache Maven và sbt (scala build tool) cũng như các tập lệnh shell tùy ý và hàng loạt lệnh của Windows.
Jenkins Pipeline là một bộ plugin hỗ trợ việc triển khai và tích hợp CD theo kiểu pipeline (bao gồm tập hợp quy trình với các tác vụ liên quan với nhau và được thực hiện một cách tuần tự theo thứ tự đã quy định). Jenkins Pipeline được khai báo trên một tập tin được gọi là Jenkinsfile.
Jenkinsfile là phần “lõi” của Jenkins Pipeline, được viết dựa trên cú pháp của DSL (Domain Specific Language) với ngôn ngữ chính là: Groovy DSL. Tập tin này chứa danh sách các công việc mà pipeline sẽ thực hiện, được lưu trữ trên server Jenkins hoặc trên repository của git/Bitbucket.
Ví dụ:
pipeline { agent any environment { BUILD_SCRIPTS_GIT="http://10.100.100.10:7990/scm/~myname/mypipeline.git" BUILD_SCRIPTS='mypipeline' BUILD_HOME='/var/lib/jenkins/workspace' } stages { stage('Checkout: Code') { steps { sh "mkdir -p $WORKSPACE/repo;\ git config --global user.email 'email@address.com';\ git config --global user.name 'myname';\ git config --global push.default simple;\ git clone $BUILD_SCRIPTS_GIT repo/$BUILD_SCRIPTS" sh "chmod -R +x $WORKSPACE/repo/$BUILD_SCRIPTS" } } stage('Yum: Updates') { steps { sh "sudo chmod +x $WORKSPACE/repo/$BUILD_SCRIPTS/scripts/update.sh" sh "sudo $WORKSPACE/repo/$BUILD_SCRIPTS/scripts/update.sh" } } } post { always { cleanWs() } } }
Jenkinsfile này sẽ thực hiện các tác vụ sau:
Nội dung trong Jenkinsfile trên bao gồm:
Lưu ý:
Yêu cầu: Đã cài đặt các plugin sau:
Các bước thực hiện:
Quá trình thực thi sẽ hiển thị thông tin và tình trạng các stage đã được khai báo trong Jenkinsfile trong mục Stage View. Nếu stage có màu xanh tức là đã thực thi thành công, màu đó là lỗi trong quá trình thực thi. Người dùng có thể xem log của từng stage bằng cách chọn “Log” để xem log của từng stage.
Chúc bạn thành công!
Nguồn tham khảo:
Xem thêm các bài viết liên quan:
Powered by BetterDocs
Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Δ
Ghi nhớ tôi
Chưa đăng ký? Đăng ký
Năm sinh
Bạn đã đăng ký? Đăng nhập ngay