色猫咪av在线网址_91精品国产福利在线观看雪梨还会玩转热点_丁香花的视频免费观看_国产手机在线A∨免费视频_十八禁av无码免费网站APP_综合色一区二区亚洲_日韩精品小电影_漂亮人妻熟睡中被公侵犯_全新成人高清无码片_高级厕所偷窥白领美女嘘嘘

當(dāng)前位置: 首頁 >應(yīng)用方案 >技術(shù)應(yīng)用 >

如何在本地搭建代碼托管平臺Gitea案例教程

1. 關(guān)于Gitea

Gitea是一個輕量級的Git托管服務(wù),也就是基于Git的代碼托管平臺,類似于 GitHub 、Gitee等。

Gitea相對于其他代碼托管平臺,是一個可以本地部署的開源項(xiàng)目,非常輕量化,運(yùn)行時對CPU和內(nèi)存的需求較小,適用于個人或小型團(tuán)隊(duì)協(xié)作開發(fā),適合在個人電腦或資源受限的服務(wù)器上使用。

2. Gitea的本地搭建

本次搭建環(huán)境演示系統(tǒng)為Ubuntu18.04.4 LTS。

使用Docker容器進(jìn)行搭建,Docker可以在系統(tǒng)中創(chuàng)建、運(yùn)行和管理容器

使用Docker Compose進(jìn)行管理,Docker Compose是一個Docker拓展工具,可以協(xié)同管理多個容器。

2.1 下載安裝Docker

本次的Gitea會搭建在容器中,這樣做可以將應(yīng)用程序及其依賴項(xiàng)打包到一個獨(dú)立的環(huán)境中,應(yīng)用就可以在任何地方運(yùn)行。因此需要提前安裝Docker,命令如下:

sudo apt install docker.io

驗(yàn)證是否安裝成功,成功顯示版本號則代表安裝成功:

docker -v
#成功顯示
Docker version 20.10.21, build 20.10.21-0ubuntu1~18.04.3

2.2 下載安裝Docker Compose

Docker Compose可以統(tǒng)一管理多個容器的啟動關(guān)閉和配置,是一個非常好用的容器管理工具。

這里提供兩種下載方式,在線下載方式簡單但有時候會出現(xiàn)較多的問題,離線下載比較穩(wěn)定:

2.2.1 在線下載方式:

# github下載外網(wǎng)源
sudo curl -L https://github.com/docker/compose/releases/download/2.30.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# daocloud下載 (國內(nèi)源)
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/2.30.3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

系統(tǒng)若無curl則提前安裝:

sudo apt install curl

下載成功后添加可執(zhí)行權(quán)限:

sudo chmod +x /usr/local/bin/docker-compose

驗(yàn)證是否安裝成功

docker-compose -v

如果發(fā)現(xiàn)有問題,請檢查/usr/local/bin/docker-compose文件,如果發(fā)現(xiàn)大小只有幾百字節(jié)或更小,并且查看發(fā)現(xiàn)僅僅為一個HTML頁面,則代表鏡像源下載失敗了,建議換離線下載方式進(jìn)行安裝。

2.2.2 離線下載方式

Docker Compose項(xiàng)目倉庫下載對應(yīng)架構(gòu)的版本,官方網(wǎng)址:https://github.com/docker/compose/releases

這里我的系統(tǒng)是x86_64架構(gòu),并選擇2.30.3版本的程序下載:

1  代碼托管平臺Gitea

直接將該exe文件改名放到/usr/local/bin/中,并修改權(quán)限:

#移動并改名
sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
#修改權(quán)限
sudo chmod +x /usr/local/bin/docker-compose

再驗(yàn)證是否安裝成功:

#驗(yàn)證
docker-compose --version

#成功顯示
Docker Compose version v2.30.3

2.3 配置docker-compose.yml文件

首先創(chuàng)建一個用于存放配置文件的項(xiàng)目目錄并進(jìn)入:

mkdir ~/gitea && cd ~/gitea

在該文件夾中創(chuàng)建和編寫docker-conpose.yml配置文件,docker-cpmpose命令執(zhí)行時會自動識別當(dāng)前文件夾的docker-conpose.yml配置文件,當(dāng)然也可以指定其他路徑的配置文件。

docker-conpose.yml配置文件配置了兩個服務(wù),即Gitea和MySQL服務(wù),MySQL為Gitea服務(wù)提供數(shù)據(jù)庫支持:

若配置文件中注釋無法被命令識別,則刪除其中的注釋再使用

# 定義網(wǎng)絡(luò)配置
networks:
 gitea:  # 創(chuàng)建一個名為 'gitea' 的自定義網(wǎng)絡(luò)
   external: false  # 表示該網(wǎng)絡(luò)由 Docker Compose 自動創(chuàng)建,而不是使用外部網(wǎng)絡(luò)
# 定義服務(wù)配置
services:
 
 # Gitea 服務(wù)配置
 server:
   # 使用 Gitea 鏡像,指定版本為 1.21.1
   image: gitea/gitea:1.21.1
   
   # 容器名稱設(shè)為 'gitea'
   container_name: gitea  
   
   # 環(huán)境變量配置
   environment:
     - USER_UID=1000  # 設(shè)置 Gitea 進(jìn)程運(yùn)行的用戶 ID 為 1000
     - USER_GID=1000  # 設(shè)置 Gitea 進(jìn)程運(yùn)行的用戶組 ID 為 1000
     - GITEA__database__DB_TYPE=mysql  # 設(shè)置數(shù)據(jù)庫類型為 MySQL
     - GITEA__database__HOST=db:3306  # 設(shè)置數(shù)據(jù)庫主機(jī)為 db 服務(wù)(MySQL 服務(wù))并指定端口
     - GITEA__database__NAME=gitea  # 設(shè)置數(shù)據(jù)庫名稱為 gitea
     - GITEA__database__USER=gitea  # 設(shè)置數(shù)據(jù)庫用戶為 gitea
     - GITEA__database__PASSWD=gitea  # 設(shè)置數(shù)據(jù)庫密碼為 gitea
   # 容器的重啟策略,容器停止后會自動重啟
   restart: always
   # 將容器連接到 'gitea' 網(wǎng)絡(luò)
   networks:
     - gitea  # 使用上面定義的 'gitea' 網(wǎng)絡(luò)

   # 持久化存儲和時區(qū)配置
   volumes:
     # 將主機(jī)的 ./gitea 目錄掛載到容器內(nèi)的 /data 目錄,用于存儲 Gitea 的數(shù)據(jù)
     - ./gitea:/data  
     # 將宿主機(jī)的時區(qū)配置掛載到容器內(nèi),確保容器時區(qū)與主機(jī)一致
     - /etc/timezone:/etc/timezone:ro  # ro 表示只讀
     # 將宿主機(jī)的本地時間配置掛載到容器內(nèi),確保容器時間與主機(jī)一致
     - /etc/localtime:/etc/localtime:ro  # ro 表示只讀

   # 端口映射
   ports:
     # 將宿主機(jī)的 3000 端口映射到容器的 3000 端口,Gitea Web 界面可通過宿主機(jī) 3000 端口訪問
     - "3000:3000"  
     # 將宿主機(jī)的 222 端口映射到容器的 22 端口,用于 SSH 訪問 Gitea
     - "222:22"
   
   # 定義依賴關(guān)系,確保 MySQL 服務(wù)在 Gitea 啟動之前啟動
   depends_on:
     - db

 # MySQL 數(shù)據(jù)庫服務(wù)配置
 db:
   # 使用 MySQL 鏡像,指定版本為 8
   image: mysql:8
   
   # 容器名稱設(shè)為 'mysql'
   container_name: mysql
   
   # 容器的重啟策略,容器停止后會自動重啟
   restart: always

   # 環(huán)境變量配置
   environment:
     - MYSQL_ROOT_PASSWORD=gitea  # 設(shè)置 MySQL root 用戶的密碼為 gitea
     - MYSQL_USER=gitea  # 設(shè)置 MySQL 用戶為 gitea
     - MYSQL_PASSWORD=gitea  # 設(shè)置 MySQL 用戶的密碼為 gitea
     - MYSQL_DATABASE=gitea  # 創(chuàng)建一個名為 gitea 的數(shù)據(jù)庫

   # 將容器連接到 'gitea' 網(wǎng)絡(luò)
   networks:
     - gitea  # 使用上面定義的 'gitea' 網(wǎng)絡(luò)
   
   # 端口映射
   ports:
     - "3306:3306"  # 將宿主機(jī)的 3306 端口映射到容器的 3306 端口,供 Gitea 訪問 MySQL

   # 持久化存儲 MySQL 數(shù)據(jù)
   volumes:
     - ./mysql:/var/lib/mysql  # 將宿主機(jī)的 ./mysql 目錄掛載到容器內(nèi)的 /var/lib/mysql 目錄,持久化數(shù)據(jù)庫數(shù)據(jù)

2.4 啟動docker容器

sudo docker-compose up -d

如果啟動出現(xiàn)超時報錯,則需要更換加速鏡像地址

修改加速鏡像地址需修改/etc/docker/daemon.json文件內(nèi)容,若無該文件則創(chuàng)建再編寫:

{
 "registry-mirrors": ["https://docker-proxy.741001.xyz","https://registry.docker-cn.com"]
}

保存文件修改,再依次執(zhí)行如下命令重啟docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

docker服務(wù)重啟后再次執(zhí)行啟動docker容器命令:

sudo docker-compose up -d

啟動成功后,可以通過如下命令檢查gitea服務(wù)的docker容器是否啟動:

sudo docker ps

#若成功則顯示,可以看到對應(yīng)的容器ID、鏡像、端口映射、服務(wù)名稱等
CONTAINER ID   IMAGE                COMMAND                   CREATED         STATUS         PORTS                 NAMES
89825b4d35bb   gitea/gitea:1.21.1   "/usr/bin/entrypoint…"   2 minutes ago   Up 2 minutes   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp, 0.0.0.0:222->22/tcp, :::222->22/tcp   gitea
cd7ef47cc0a9   mysql:8              "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                             mysql

2.5 訪問本地Gitea服務(wù)

瀏覽器輸入主機(jī)IP+端口,即可訪問:

192.168.xx.xx:3000

初次進(jìn)入后,會顯示一個初始配置確認(rèn)頁面,如下圖所示,該配置已正常讀取docker-conpose配置,如果沒有特殊需求直接點(diǎn)擊立即安裝即可:

2  代碼托管平臺Gitea

安裝完成后,注冊賬號并登錄即可正常使用(服務(wù)中注冊的第一個賬號默認(rèn)為管理員)。

3  代碼托管平臺Gitea

Gitea中,可以像其他代碼托管平臺一樣實(shí)現(xiàn)版本控制、分支管理、代碼審查、問題跟蹤等功能。

Gitea同樣也支持將其他托管平臺代碼遷移過來,進(jìn)行倉庫備份:

4  代碼托管平臺Gitea
5  代碼托管平臺Gitea


今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多通信技術(shù)資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!



相關(guān)閱讀:

1、【服務(wù)器】Nginx Proxy Manager申請cloudflare泛域名教程

2、Dell服務(wù)器PowerEdge R730xd部署ESXI服務(wù)器部署教程

3、DNS解析服務(wù)systemd-resolved的常用命令

4、Chirpstack服務(wù)器簡介和搭建教程


點(diǎn)擊撥打: 億佰特官網(wǎng) 4000-330-990