Cách thiết lập Gitlab để tích hợp và triển khai liên tục trên CentOS

theanh

Administrator
Nhân viên
Trong hướng dẫn này, tôi sẽ giải thích cách thiết lập Máy chủ Gitlab cục bộ cho hoạt động CI (Tích hợp liên tục) / CD (Triển khai liên tục). Giống như bất kỳ ai chưa biết, GitLab là một nền tảng DevOps hoàn chỉnh được cung cấp dưới dạng một ứng dụng duy nhất. Từ lập kế hoạch dự án và quản lý mã nguồn thông qua CI/CD đến giám sát và bảo mật. Nó cho phép các nhóm cộng tác và làm việc trong một cuộc trò chuyện duy nhất thay vì quản lý nhiều luồng trên nhiều công cụ. Bằng cách cung cấp một kho lưu trữ dữ liệu, giao diện người dùng và mô hình ủy quyền duy nhất trong suốt vòng đời DevOps, các nhóm có thể cộng tác đáng kể, giảm thời gian chu kỳ và tập trung hoàn toàn vào việc xây dựng nhanh chóng từng ứng dụng.

Khi mỗi phương pháp tiếp cận kinh doanh trở nên lớn hơn và toàn diện hơn, tất cả các sản phẩm phải có nhiều tính năng nổi bật hơn so với đối thủ cạnh tranh. Để đạt được điều này, nhiều mô-đun phải được giới thiệu và phát triển sau khi chúng sẵn sàng, chúng phải được đưa ra thị trường nhanh chóng và được thử nghiệm và xác minh đầy đủ. Theo cách này, sẽ thực sự hữu ích để đạt được cột mốc này nếu Gitlab là nguồn ứng dụng duy nhất có thể tạo điều kiện thuận lợi cho quá trình chuyển đổi sang thực hành DevOps.

1. Tích hợp liên tục và Triển khai liên tục hoạt động như thế nào​

Có một trình tự hợp lý các hành động có thể thực hiện trong suốt vòng đời của quy trình phát triển phần mềm, sử dụng GitLab làm nền tảng cho mã của bạn. Mục tiêu là hỗ trợ các nhóm một cách mạch lạc và hiệu quả từ giai đoạn đầu tiên triển khai sản phẩm mới cho đến giai đoạn cuối cùng triển khai sản phẩm đó trong quá trình sản xuất. Hình ảnh bên dưới hiển thị tóm tắt về quy trình làm việc:



Vì phạm vi của DevOps khá lớn nên hướng dẫn này tập trung vào việc thiết lập máy chủ Gitlab trong điều kiện cục bộ. Chúng tôi sẽ sử dụng Gitlab Community Edition để thiết lập trong môi trường cục bộ của mình.

2. Giai đoạn cài đặt​

Đối với giai đoạn cài đặt, trước tiên chúng ta sẽ bắt đầu bằng cách thiết lập máy chủ với các điều kiện tiên quyết, giả sử mỗi máy chủ đều có cấu hình máy chủ tối thiểu. Dưới đây là các bước:
Mã:
 [root@MyGitLab ~]# cat /etc/resolv.conf 
 [root@MyGitLab ~]# yum updateinstall -y curl policycoreutils-python openssh-server
Việc thực hiện ở trên là tùy chọn, chỉ để đảm bảo quá trình cài đặt và đánh giá của chúng tôi diễn ra suôn sẻ. Sau khi cài đặt xong, bạn sẽ có ảnh chụp màn hình như bên dưới





Sau đó khởi động dịch vụ postfix theo yêu cầu. Dưới đây là lệnh.
Mã:
 [root@MyGitLab ~]# systemctl start postfix 
 [root@MyGitLab ~]# systemctl status postfix 
 [root@MyGitLab ~]# systemctl enable postfix
Sau khi hoàn tất, bạn sẽ có ảnh chụp màn hình như bên dưới







Tiếp theo, chúng ta cần cài đặt wget để lấy tập lệnh tự động do chính GitLab cung cấp để cài đặt. Bạn cũng có thể sử dụng cách khác để thực hiện cài đặt như sử dụng Curl, v.v., đối với bài tập này, tôi sẽ sử dụng wget để tải xuống tập lệnh thay thế. Sau khi cài đặt wget packages, chúng ta sẽ tải xuống tập lệnh từ tại đây và đưa vào máy chủ cục bộ của chúng ta. Dưới đây là các bước thực hiện:
Mã:
 [root@MyGitLab ~]# yum install -y wget 
 [root@MyGitLab ~]# wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh 
 [root@MyGitLab ~]# chmod +x script.rpm.sh 
 [root@MyGitLab ~]# ./script.rpm.sh
Quy trình sẽ như sau:









Tiếp theo, chúng ta sẽ bắt đầu chuẩn bị dịch vụ GitLab và các thành phần phụ thuộc đã được định cấu hình. Các bước như sau:
Mã:
 [root@MyGitLab ~]# EXTERNAL_URL="http://10.124.12.133:80" 
 [root@MyGitLab ~]# echo $EXTERNAL_URL 
 http://10.124.12.133 
 [root@MyGitLab ~]# yum install -y gitlab-ce
Khi mọi thứ hoàn tất, bạn sẽ thấy tiến trình như hiển thị bên dưới





Tuyệt! Bây giờ mọi thứ đã trong tầm tay, hãy tiếp tục quá trình cài đặt dịch vụ và các thành phần phụ thuộc của nó. Vì GitLab là một ứng dụng vững chắc để DevOps thiết kế cùng nhau, sẽ có một số gói và cấu hình sẽ được cấu hình. Do đó, thời gian thực hiện sẽ lâu hơn bất kỳ quá trình cài đặt dịch vụ thông thường nào là điều bình thường. Trước khi bắt đầu cài đặt, hãy xác nhận rằng URL chính đã được cấu hình như mong đợi. Dưới đây là các bước:-
Mã:
 [root@MyGitLab ~]# cat /etc/gitlab/gitlab.rb 
 external_url='http://10.124.12.133' 
 
 [root@MyGitLab ~]# gitlab-ctl reconfigure
Nếu tiến trình diễn ra suôn sẻ, bạn sẽ nhận được như ảnh chụp màn hình bên dưới









Bây giờ, khi mọi thứ đã hoàn tất ở phần cài đặt, chúng ta hãy thực hiện bước hoàn thiện cuối cùng là kích hoạt cổng để Gitlab phục vụ. Dưới đây là các bước:-
Mã:
 [root@MyGitLab ~]# firewall-cmd --permanent --add-service ssh 
 [root@MyGitLab ~]# firewall-cmd --permanent --add-service http 
 [root@MyGitLab ~]# firewall-cmd --reload 
 [root@MyGitLab ~]# iptables -L -n
Dưới đây là ảnh chụp màn hình





Bây giờ chúng ta đã hoàn thành khá nhiều việc để cài đặt GitLab, giờ chúng ta có thể bắt đầu đăng nhập vào máy chủ GitLab của riêng mình và cấu hình dự án khi cần. Kết quả cuối cùng là bạn có thể xem dịch vụ GitLab của mình qua trình duyệt thông qua URL mà chúng ta đã cấu hình trước đó, trong trường hợp của chúng ta là http://10.124.12.133. Nó sẽ tự động chuyển hướng bạn đến trang chính, sau đó đặt mật khẩu quản trị ban đầu của bạn nếu cần. Trong trường hợp này, người dùng quản trị mặc định là root. Dưới đây là ví dụ:-






3. Giai đoạn thử nghiệm​

Khi mọi thứ đã xong, hãy đóng vai trò là người dùng trong một nhóm đang xác định một dự án sử dụng GitLab làm kho lưu trữ phát triển dự án. Trước tiên, hãy tạo một dự án mới, nhấp vào Tạo dự án và xác định chi tiết khi cần. Ví dụ như sau:-





Sau khi hoàn tất, bạn sẽ được chuyển hướng đến trang chính của dự án như bên dưới



Bây giờ, với tư cách là một dự án, sẽ có một số người dùng đóng góp vào kho lưu trữ này. Để tạo lại kịch bản, hãy tạo một người dùng sau đó sẽ đóng góp vào dự án này. Quay lại trang chính và nhấp vào Thêm người. Bạn sẽ được chuyển hướng đến trang tạo thành viên như bên dưới. Tạo người dùng và điền thông tin theo yêu cầu.



Bây giờ, sau khi hoàn tất, hãy quay lại trang dự án chính của bạn, đi tới cài đặt và nhấp vào thành viên. Dưới đây là ví dụ:-



Nó sẽ đưa bạn đến trang thành viên Dự án, bao gồm người dùng mới mà bạn đã tạo và xác định các vai trò để cấp cho người dùng như ví dụ bên dưới. Đối với mọi định nghĩa về vai trò và đặc quyền, bạn có thể nhấp vào Đọc thêm để biết thêm chi tiết



Sau khi hoàn tất, bạn sẽ thấy danh sách thành viên nhóm được cấp theo ví dụ bên dưới:-



Bây giờ, hãy kiểm tra đóng góp quy trình làm việc của dự án bằng cách truy cập từ máy chủ khác và đăng nhập với tư cách là người dùng mới mà chúng ta đã tạo và tạo một tệp mới để cam kết vào dự án. Đầu tiên, hãy lấy URL để dự án được sao chép từ máy chủ hoặc máy trạm khác. Bạn có thể lấy liên kết URL dự án từ ví dụ bên dưới:-



Khi mọi thứ đã được chuẩn bị, hãy đăng nhập vào một máy trạm thử nghiệm và sao chép dự án để người dùng khác có thể truy cập. Dưới đây là các bước:-
Mã:
 [root@Test1 ~]# yum install -y git 
 [root@Test1 ~]# git clone http://10.124.12.133/root/my-first-project.git
Bạn sẽ cần cung cấp quyền truy cập cho người dùng để sao chép dự án, sử dụng người dùng mới vừa tạo như ví dụ hiển thị bên dưới:-



Sau khi hoàn tất, một thư mục mới có tên dự án sẽ được tạo bên dưới máy trạm của bạn. Bây giờ hãy vào bên trong thư mục và tạo một tệp trống. Điều này chỉ để kiểm tra xem dự án có thể được đóng góp bởi bất kỳ thành viên nhóm nào từ bất kỳ máy trạm nào không và kho lưu trữ dự án sẽ luôn được cập nhật đồng bộ. Dưới đây là các bước:-
Mã:
 [root@Test1 ~]# cd ls 
 anaconda-ks.cfg my-first-project 
 [root@Test1 ~]# cd my-first-project/ 
 [root@Test1 my-first-project]# ls 
 README.md 
 [root@Test1 my-first-project]# touch myfile.txt
Khi mọi thứ đã hoàn tất, hãy cam kết những thay đổi của chúng ta để đồng bộ với kho lưu trữ chính của dự án. Dưới đây là các bước:-
Mã:
 [root@Test1 my-first-project]# git add myfile.txt 
 [root@Test1 my-first-project]# git commit -m "added new file" 
 [root@Test1 my-first-project]# git push -u origin master
Sau khi lệnh trên được thực hiện, quá trình sẽ hiển thị như ví dụ bên dưới:-



Tuyệt! Khi mọi thứ đã hoàn tất, hãy quay lại trình duyệt và làm mới trang. Bạn sẽ thấy rằng tệp mới được người dùng shahril cam kết được hiển thị trên trang dự án chính
 
Back
Bên trên