Gogs là cách dễ nhất để chạy máy chủ Git cục bộ

Tác giả sysadmin, T.M.Hai 30, 2022, 02:50:59 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Gogs là cách dễ nhất để chạy máy chủ Git cục bộ


Bạn không muốn đẩy mã của mình vào kho lưu trữ Git được lưu trữ? Sau đó chạy máy chủ Git của riêng bạn trong nhà. Gogs là cách dễ nhất để làm điều đó. Đây là cách thiết lập nó.


1. Sự cố với kho lưu trữ trên đám mây

Không còn nghi ngờ gì nữa, Git là hệ thống kiểm soát phiên bản ưu việt. Ngay cả với các dự án của một nhà phát triển, Git vẫn mang lại giá trị và lợi ích nhờ chức năng tạo phiên bản của nó. Đối với các dự án nhiều nhà phát triển, Git mang đến một khía cạnh khác hoàn toàn. Với kho lưu trữ trung tâm, từ xa, Git cho phép khả năng cộng tác sẽ thay đổi cách các nhóm phát triển của bạn xem kiểm soát phiên bản.

Đó là lý do tại sao các dịch vụ như  GitHub,  GitLab và  BitBucket  tồn tại cũng như lý do tại sao chúng lại nhận thấy sự thu hút và tăng trưởng như vậy. Chỉ riêng GitHub đã lưu trữ hơn 200 triệu kho lưu trữ. Nhưng kho lưu trữ trên đám mây không phù hợp với tất cả mọi người. Hầu hết trong số họ tính phí để lưu trữ các kho lưu trữ riêng. Một số trong số họ áp đặt giới hạn lưu trữ, giới hạn người dùng hoặc giới hạn truyền dữ liệu đối với tài khoản miễn phí.

Ngay cả khi mức sử dụng và quy mô nhóm của bạn phù hợp với giới hạn của tài khoản miễn phí hoặc ngay cả khi bạn sẵn sàng trả tiền cho giấy phép thương mại, bạn có thể không cảm thấy thoải mái khi lưu trữ cơ sở mã của mình trên đám mây.

Cách khác là lưu trữ máy chủ Git của riêng bạn cục bộ trên mạng của riêng bạn hoặc có thể truy cập riêng tư trong đám mây riêng của bạn. Thiết lập máy chủ Git cung cấp giao diện web với giao diện và các tùy chọn mà GitHub và bạn bè đã làm cho nó trở nên phổ biến được sử dụng để yêu cầu một mức độ kỹ năng kỹ thuật nhất định. Đó là nơi Gogs đến.

2. Gogs là gì?

Gogs là một dự án tương đối mới, được viết bằng Go, cung cấp một phiên bản Git dễ cài đặt nhưng đầy đủ tính năng. Không có giới hạn về quy mô nhóm, dung lượng lưu trữ hoặc bất kỳ thứ gì khác.

Ngay cả khi bạn là một lập trình viên có sở thích, việc sử dụng Gogs làm dịch vụ Git trên mạng cục bộ của bạn cho phép bạn lưu trữ một bản sao mã của mình khỏi máy phát triển của mình. Khi bạn—hoặc ai đó—muốn làm việc trên một máy tính mới hoặc khác, bạn chỉ cần sao chép một kho lưu trữ từ máy chủ Gogs của mình giống như bạn làm từ GitHub.

Nếu bạn định sử dụng Gogs thường xuyên, có lẽ bạn sẽ thấy thuận tiện khi thêm nó vào các ứng dụng khởi động của máy tính mà nó đang chạy.

3. Cách cài đặt Gogs

Để cài đặt Gogs, bạn tải xuống tệp lưu trữ thích hợp, giải nén nó và chạy tệp nhị phân chính. Bạn điền vào một số biểu mẫu và Gogs khởi tạo kho lưu trữ của bạn và thêm bạn làm người dùng quản trị. Sau đó, bạn có thể duyệt đến phiên bản Gogs của mình và thêm người dùng cũng như tạo kho lưu trữ.

Gogs sử dụng cơ sở dữ liệu để lưu trữ phía sau. Nó hỗ trợ  MySQL, MariaDB,  PostgreSQL và  TiDB. Nếu bạn muốn sử dụng một trong những công cụ cơ sở dữ liệu mạnh mẽ này, bạn phải tự định vị và cài đặt nó trước khi cài đặt Gogs. Đối với các nhóm nhỏ hơn, bạn có thể sử dụng  SQLite3. Nếu bạn chọn SQLite3, nó sẽ được cài đặt cho bạn. Tất nhiên, bạn cũng cần phải cài gitđặt.

Tải xuống  tệp nhị phân thích hợp.

  • Đối với hầu hết các bản phân phối Linux hiện đại, hãy tải xuống tệp "Linux amd64".
  • Nếu bạn đang sử dụng phiên bản 32 bit của Linux, hãy tải xuống tệp "Linux 386".
  • Nếu bạn đang cài đặt trên Raspberry Pi 2 hoặc phiên bản cũ hơn, hãy tải xuống tệp "Linux armv7".
  • Nếu bạn đang cài đặt trên Raspberry Pi 3, 3+ hoặc phiên bản mới hơn, hãy tải xuống tệp "Linux armv8".
  • Nếu bạn đang sử dụng Intel Mac, hãy tải xuống tệp "macOS amd64".
  • Đối với Apple Silicon Mac, hãy tải xuống tệp "macOS arm64".

Chúng tôi đã tải xuống tệp ZIP "Linux amd64" để cài đặt vào máy tính 64 bit chạy Ubuntu 22.10. Tệp này nhỏ—chỉ khoảng 25 MB—vì vậy đừng ngạc nhiên nếu tệp tải xuống rất nhanh. Đó là bình thường.

Định vị tệp trong hệ thống tệp của bạn. Nếu bạn đã giữ vị trí tải xuống mặc định của trình duyệt, tệp có thể sẽ nằm trong thư mục "~/Tải xuống". Nhấp chuột phải vào nó và chọn "Trích xuất" từ menu ngữ cảnh. Thay vào đó, một số trình duyệt tệp có thể sử dụng "Trích xuất tại đây".


Một thư mục được trích xuất từ tệp ZIP. Nó được đặt tên theo tệp đã tải xuống. Trong trường hợp của chúng tôi, nó được gọi là "gogs_0.11.91_linux_amd64."


Nhấp đúp vào thư mục đã giải nén và bạn sẽ thấy một thư mục khác có tên là "gogs".


Nhấp đúp vào thư mục "gogs". Bạn sẽ thấy các tệp và thư mục Gogs. Nhấp chuột phải vào cửa sổ trình duyệt tệp và chọn "Mở trong Terminal" từ menu ngữ cảnh.


Để bắt đầu phiên bản Gogs của bạn, hãy nhập lệnh này:

Mã nguồn [Chọn]
./gogs web

Gogs khởi chạy và cho bạn biết nó đang lắng nghe trên cổng 3000.

Kết nối với máy chủ Gogs của bạn bằng cách mở trình duyệt web và điều hướng đến địa chỉ IP hoặc tên mạng của máy tính mà Gogs đang chạy. Thêm ":3000" sau địa chỉ IP hoặc tên mạng. Không bao gồm bất kỳ khoảng trắng nào.

Nếu bạn đang duyệt trên máy tính mà Gogs đang chạy, bạn có thể sử dụng " localhost " làm tên máy, chẳng hạn như "localhost:3000." Máy tính Gogs của chúng tôi có tên là "ubuntu-22-10.local", vì vậy từ một máy tính khác trên cùng một mạng, địa chỉ chúng tôi cần duyệt đến là "ubuntu-22-10.local:3000", bao gồm cả số cổng.

Lần đầu tiên thực hiện việc này, bạn sẽ thấy biểu mẫu ghi lại một số thông tin thiết lập ban đầu.


Điều đầu tiên chúng ta cần làm là chọn "SQLite3" từ menu thả xuống "Loại cơ sở dữ liệu" và nhập tên người dùng của bạn vào trường "Người dùng chạy".


Nếu muốn thiết lập thông báo qua email, bạn sẽ cần định cấu hình thêm một số bước. Bạn sẽ cần chuyển tiếp email thông qua máy chủ thư Giao thức chuyển thư đơn giản (SMTP) mà bạn có quyền sử dụng. Nếu bạn là người dùng Gmail của Google, bạn có thể sử dụng máy chủ Gmail SMTP của Google.

Điều này sẽ yêu cầu cài đặt trên máy chủ thư để cho phép tài khoản của bạn chấp nhận và chuyển tiếp email. Các cài đặt này khác nhau giữa máy chủ thư và máy chủ thư.

Gogs yêu cầu bạn nhập thông tin sau về máy chủ email của bạn.

  • Máy chủ SMTP : Địa chỉ và cổng của máy chủ email. Trong ví dụ của chúng tôi, đây là máy chủ SMTP của Google tại   Đăng nhập để xem liên kết:587.
  • From : Địa chỉ email mà email sẽ được gửi từ đó. Đối với Gmail, đây phải là địa chỉ email Gmail của tài khoản bạn đang sử dụng.
  • Email người gửi: Phải giống như trên. Đây là ID tài khoản email mà Gogs sẽ sử dụng để nói chuyện với máy chủ SMTP.
  • Sender Password : Đây  không phải  là mật khẩu cho tài khoản Gmail. Đó là mật khẩu dành riêng cho ứng dụng mà bạn nhận được từ Google khi định cấu hình tài khoản của mình để cho phép ứng dụng gửi email thay mặt bạn.
  • Bật xác nhận đăng ký : Để yêu cầu Gogs xác minh email của người dùng, hãy chọn hộp kiểm này. Người dùng mới sẽ nhận được email có liên kết trong đó. Họ phải nhấp vào để chứng minh địa chỉ email là chính hãng và dưới sự kiểm soát của họ.
  • Bật thông báo qua thư : Đánh dấu vào hộp kiểm này để cho phép thông báo qua email từ Gogs.


Tất nhiên, nếu bạn không muốn bị làm phiền bởi các email, bạn có thể bỏ qua tất cả các cài đặt email.

Nhấp vào nút "Cài đặt Gogs" màu xanh lam khi bạn đã sẵn sàng tiếp tục. Gogs viết một tệp cấu hình, khởi tạo bộ lưu trữ cơ sở dữ liệu và khởi động phiên bản Git của bạn.

Bạn sẽ thấy trang chủ chính của Gogs.


Tài khoản người dùng đầu tiên bạn tạo sẽ tự động được cấp quyền quản trị viên. Nhấp vào liên kết "Đăng ký".


Hoàn thành biểu mẫu "Đăng ký" với tên tài khoản của bạn, mật khẩu cho tài khoản này (nhập hai lần) và các chữ số từ Captcha. Nhấp vào nút "Tạo tài khoản mới" màu xanh lục. Bạn sẽ thấy trang "Đăng nhập".


Nhập tên tài khoản và mật khẩu của bạn, rồi nhấp vào nút "Đăng nhập" màu xanh lục.

4. Chuyến tham quan nhanh về Gogs

Nếu bạn hoàn toàn quen thuộc với bất kỳ phiên bản Git truy cập web nào khác, bạn sẽ tìm thấy cách của mình xung quanh Gogs rất dễ dàng.


Chế độ xem "Bảng điều khiển" của Gogs hơi thưa thớt cho đến khi bạn có một kho lưu trữ để làm việc. Nhấp vào nút "+" màu xanh lam và hoàn thành biểu mẫu "Kho lưu trữ mới".

Nó yêu cầu tên kho lưu trữ, cho dù đó là riêng tư hay công khai và mô tả.


Ba trường tiếp theo tạo tệp từ các mẫu.


  • Menu ".gitignore" cho phép bạn chọn mẫu cho tệp ".gitignore" được định cấu hình với các cài đặt theo ngôn ngữ đã chọn. Bạn có thể đưa ra nhiều lựa chọn từ menu này, để phục vụ cho các kho sử dụng hỗn hợp các công nghệ phát triển.
  • Menu "Giấy phép" cho phép bạn chọn một giấy phép từ một danh sách toàn diện.
  • Menu "Readme" có một tùy chọn duy nhất, tệp "README.md" mặc định.

Đánh dấu vào hộp kiểm "Khởi tạo Kho lưu trữ này với Tệp và Mẫu đã Chọn" và nhấp vào nút "Tạo Kho lưu trữ" màu xanh lục.


Kho lưu trữ mới của bạn được hiển thị cho bạn. Gogs đã tạo ba tệp tiêu chuẩn cho chúng tôi và thêm chúng vào kho lưu trữ với thông báo cam kết "Cam kết ban đầu".

Chúng tôi đã sao chép kho lưu trữ vào máy tính của mình, thêm một tệp có tên "ack.c", đã cam kết và đẩy tệp đó vào kho lưu trữ Gogs từ xa của chúng tôi. Tất cả điều này đã được thực hiện bằng cách sử dụng các lệnh Git tiêu chuẩn.


Như mong đợi, tệp mới của chúng tôi hiển thị trong kho lưu trữ Gogs của chúng tôi.


Nhấp vào một tệp sẽ hiển thị cho chúng tôi nội dung của tệp riêng lẻ. Các tệp Markdown được giải thích cho bạn, với các tiêu đề, liên kết, danh sách và tất cả các tính năng Markdown khác. Các tệp "README.md" thường được viết bằng Markdown.


Bằng cách nhấp vào biểu tượng bút chì "Chỉnh sửa", chúng tôi có thể chỉnh sửa trực tiếp tệp "README.md" của mình. Chúng tôi đã thêm một số văn bản khác, sử dụng thẻ Markdown để chèn siêu liên kết và chữ in nghiêng, đồng thời cam kết các thay đổi của chúng tôi. Tất cả từ bên trong Gogs.


Quay lại chế độ xem kho lưu trữ của chúng tôi, tệp "README.md" đã cập nhật của chúng tôi được hiển thị và mục nhập "README.md" trong danh sách tệp hiển thị một thông báo cam kết mới và thời gian cập nhật.


5. Máy chủ Git dễ nhất

Gogs là một chiến thắng tuyệt đối. Nó kết hợp hoàn hảo chức năng với sự đơn giản.

Ra khỏi hộp, nó sẽ đáp ứng nhu cầu của phần lớn những người có sở thích hoặc các nhóm phát triển nhỏ. Một số tùy chọn nâng cao của nó được kích hoạt bằng cách chỉnh sửa tệp cấu hình, theo mặc định, nằm ở "~/Downloads/gogs_0.12.10_linux_amd64/gogs/custom/conf/app.ini." Lưu ý rằng đường dẫn sẽ phản ánh phiên bản Gogs bạn đang sử dụng.

Quản trị hệ thống chung có thể được thực hiện từ bảng quản trị, có tại Your Profile > Admin panel.

Mặc dù tài liệu của Gogs ngắn gọn đến mức súc tích, nhưng điều đó có nghĩa là bạn dễ dàng tìm thấy những gì bạn đang tìm kiếm và các mô tả đủ chi tiết để bạn theo dõi.

Nếu bạn lo lắng về các kho lưu trữ được lưu trữ trên đám mây mà cuối cùng nằm dưới sự kiểm soát của người khác, hãy cân nhắc sử dụng Gogs cục bộ. Bạn sẽ không mất chức năng, nhưng bạn sẽ giành được quyền kiểm soát và quyền riêng tư được đảm bảo.