GitBucket là một hệ thống phát triển cộng tác tự lưu trữ que giống với các dịch vụ như GitHub hoặc GitLab, ngoài ra nó có một giao diện khá giống với những cái này. GitBucket tự đặt mình như một khung phát triển cho các hệ thống hoạt động với các kho lưu trữ Git. Hệ thống này nổi bật nhờ cài đặt dễ dàng, khả năng mở rộng chức năng thông qua các plugin và hỗ trợ API GitHub.
GitBucket đi kèm với một tập hợp các tính năng phạm vi trong đó bao gồm, hỗ trợ GitLFS, các vấn đề, yêu cầu kéo, thông báo, hệ thống plugin, kho lưu trữ công khai và riêng tư của Git, cùng với đó cũng có thể dễ dàng tích hợp với LDAP để quản lý tài khoản và nhóm. Mã GitBucket được viết bằng Scala và được cấp phép theo Apache 2.0.
Các đặc điểm chính GitBucket nêu bật những điều sau:
- Hỗ trợ các kho lưu trữ Git công khai và riêng tư với quyền truy cập qua HTTP và SSH
- Hỗ trợ GitLFS
- Giao diện điều hướng kho với hỗ trợ chỉnh sửa tệp trực tuyến;
- Sự hiện diện của Wiki để chuẩn bị tài liệu
- Giao diện xử lý thông báo lỗi
- Công cụ để xử lý các yêu cầu thay đổi
- Hệ thống thông báo qua email
- Hệ thống quản lý người dùng và nhóm đơn giản với hỗ trợ tích hợp LDAP
- Một hệ thống plugin với tập hợp các plugin được phát triển bởi các thành viên cộng đồng.
Dưới dạng plugin, các tính năng như tạo ghi chú chung, đăng thông báo, sao lưu, hiển thị thông báo trên màn hình, vẽ cam kết, vẽ AsciiDoc được triển khai.
Làm thế nào để cài đặt GitBucket trên máy chủ Ubuntu, máy tính để bàn Ubuntu hoặc các dẫn xuất?
Như đã đề cập ở phần đầu, GitBucket là một hệ thống phát triển cộng tác được tự lưu trữ, vì vậy việc cài đặt điều này là nhằm vào các máy chủ, mặc dù nó cũng có thể có thể nhận ra cài đặt trong các phiên bản máy tính để bàn Ubuntu hoặc một số dẫn xuất của nó.
Bạn chỉ cần lưu ý rằng trong hướng dẫn thay vì đặt một miền, bạn phải sử dụng IP cục bộ trong mạng gia đình của mình, bạn cũng phải xem xét việc cài đặt bổ sung các gói cần thiết để khởi chạy một dịch vụ web (PHP, Apache, một số cơ sở dữ liệu tương thích) (MySQL hoặc PostgreSQL) Tôi có thể khuyên bạn cài đặt Xampp cho Linux hoặc Lamp nổi tiếng.
Để cài đặt từ GitBucket, đầu tiên chúng ta phải cài đặt gói java trên hệ thống, vì vậy nếu bạn không có nó, chỉ cần chạy lệnh sau:
sudo apt-get install default-jdk -y
Bây giờ chúng tôi sẽ tạo một nhóm mới và một người dùng để có thể chạy GitBucket
sudo groupadd -g 555 gitbucketsudo useradd -g gitbucket --no-user-group --home-dir /opt/gitbucket --no-create-home --shell /usr/sbin/nologin --system --uid 555 gitbucket
Thực hiện điều này, bây giờ chúng tôi sẽ tải xuống phiên bản ổn định hiện tại hơn là phiên bản 4.33 từ liên kết tiếp theo hoặc từ thiết bị đầu cuối với wget:
wget https://github.com/gitbucket/gitbucket/releases/download/4.33.0/gitbucket.war
Sau khi quá trình tải xuống hoàn tất, chúng ta sẽ phải gán một không gian cho GitBucket. Đối với điều này, chúng tôi sẽ nhập lệnh sau:
mkdir /opt/gitbucket
Bây giờ chỉ chúng ta phải di chuyển tệp đã tải xuống vào thư mục mới được tạo:
mv gitbucket.war /opt/gitbucket
Bây giờ chúng ta phải cấp quyền cho người dùng mà chúng tôi tạo để nó có thể hoạt động trên thư mục đã tạo:
chown -R gitbucket:gitbucket /opt/gitbucket
Đã có với nó, chúng tôi sẽ tạo một dịch vụ trong hệ thống, chúng tôi sẽ nhập:
sudo nano /etc/systemd/system/gitbucket.service
Trong tệp, chúng tôi sẽ đặt như sau:
# GitBucket Service [Unit] Description=Manage Java service [Service] WorkingDirectory=/opt/gitbucket ExecStart=/usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war User=gitbucket Group=gitbucket Type=simple Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target
Chúng tôi lưu bằng Ctrl + O và thoát bằng Ctrl + X và chúng tôi sẽ tải lại tất cả các dịch vụ với:
sudo systemctl daemon-reload
Và chúng tôi kích hoạt cái mà chúng tôi tạo bằng:
sudo systemctl start gitbucket sudo systemctl enable gitbucket
Dịch vụ đã được kích hoạt và bắt đầu, chúng ta phải kết nối cơ sở dữ liệu:
sudo nano /opt/gitbucket/database.conf db { url = "jdbc:h2:${DatabaseHome};MVCC=true" user = "sa" password = "sa" }
Và hoàn thành nó Dịch vụ hiện có thể được truy cập từ miền của bạn vào không gian được cấp phát http://yourdomain.com:8080 hoặc cài đặt cục bộ với localhost: 8080
- Người dùng: root
- Mật khẩu: root
Cuối cùng, bạn nên triển khai một proxy ngược, nhưng quy trình này khác với Nginx, Apache hoặc Candy. Bạn có thể kiểm tra tài liệu về nó trong liên kết sau.