云耀云服务器L实例是新一代的轻量应用云服务器,专为中小企业和开发者设计,提供便捷的开箱即用体验。该产品提供丰富且经过严格筛选的应用镜像,可一键部署应用,极大程度简化了客户在云端构建电商网站、Web应用、小程序、学习环境以及各类开发测试等任务的过程。
智能不卡顿:华为云擎天架构加持,软硬协同结合AI算法智能调度,为您提供优质性能。华为云全球存算一张网,数据传输时延比眨眼还短,满足游戏、音视频等低网络时延场景的高要求。
价优随心用:超高性价比,超低门槛,敞开随心用。多种实例规格,平衡性能与成本。技术升级优化用云成本,普惠更多初创企业和开发者。
上手更简单:多种镜像、资源组合一键下单。严选多款高品质镜像,经过华为云官方严格测试,覆盖七大场景,预置模板,快速搭建,安全可信。自动化编排,资源一键开通,业务分钟级上线。平滑学习曲线,向导式应用搭建,应用轻松启用。
管理更省心:拓扑、资源、镜像可视化管理,业务架构透明化管理。贴心服务状态提醒,资源续退一键式操作,实现极简管理。资源负载、安全,使用率实时监控,保障服务永远在线。可选配丰富的安全服务,包括丰富的备份、主机安全等服务,提供最高等级的安全防护。
Gitblit 是一个开源的纯 Java Git 解决方案,用于管理、查看和服务Git存储库。它可以通过 GIT、HTTP 和 SSH 传输服务存储库,作为一款基于Git的代码托管和团队协作工具。
易于安装和配置:Gitblit具有简单易用的安装和配置,可以轻松地在Windows、Linux和Mac等多种操作系统上安装和使用。
Web界面:Gitblit提供了简单而强大的Web界面,使团队成员可以轻松地浏览代码、提交和合并请求、查看历史记录等。
分布式:Gitblit是基于Git的,因此具有Git的分布式版本控制的优点,如支持快速的分支和合并操作、本地提交等。
安全性:Gitblit提供了用户管理、权限管理和SSL加密等安全功能,以确保代码仓库的安全性和私密性。
可定制性:Gitblit提供了可插拔的插件系统和自定义脚本功能,用户可以轻松地根据自己的需求进行扩展和定制。
可扩展性:Gitblit可以与其他工具集成,如Jenkins、JIRA、Redmine等,以支持更大规模的软件开发和协作。
1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为云耀云服务器L实例,使用的应用镜像为Portainer 2.18.4;
3.由于使用的应用镜像为Portainer,云服务器自动已部署好Docker环境;
4.在华为云云耀云服务器L实例上部署DGitblit服务器。
服务器类别 | 应用镜像 | 内网IP地址 | Docker版本 | Portainer版本 |
---|---|---|---|---|
云耀云服务器L实例 | Docker可视化Portainer | 192.168.0.168 | 24.0.4 | 2.18.4 |
1.官网链接:https://www.huaweicloud.com/product/hecs-light.html
2.购买规格:
区域:华北—北京四;
应用镜像:Docker可视化-Portainer;
实例规格:2核2G/系统盘40G/峰值带宽 3Mbps/流量包400G;
实例名称:自定义即可,这里编辑为HECS-L-Portainer;
购买时长:1个月。
使用Xshell远程连接服务器,填写云耀云服务器L实例的弹性公网IP地址,服务器账号密码。
检查云耀云服务器L实例操作系统版本,使用Portainer应用镜像时操作系统版本为Ubuntu 22.04.1 LTS。
root@hcss-ecs-f91c:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
检查云耀云服务器L实例的内核版本。
root@hcss-ecs-f91c:~# uname -r
5.15.0-60-generic
由于云耀云服务器L实例使用portainer应用镜像时,已自动安装好Docker环境,我们可以直接使用Docker环境。
root@hcss-ecs-f91c:~# docker version
Client: Docker Engine - Community
Version: 24.0.4
API version: 1.43
Go version: go1.20.5
Git commit: 3713ee1
Built: Fri Jul 7 14:50:55 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 24.0.4
API version: 1.43 (minimum version 1.12)
Go version: go1.20.5
Git commit: 4ffc614
Built: Fri Jul 7 14:50:55 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.21
GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8
runc:
Version: 1.1.7
GitCommit: v1.1.7-0-g860f061
docker-init:
Version: 0.19.0
GitCommit: de40ad0
检查Docker服务状态,确保Docker服务正常运行。
root@hcss-ecs-f91c:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2023-09-21 20:08:30 CST; 1 day 18h ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 16852 (dockerd)
Tasks: 84
Memory: 61.8M
CPU: 1min 55.913s
CGroup: /system.slice/docker.service
检查Docker服务自带安装docker compose版本。
root@hcss-ecs-f91c:~# docker compose version
Docker Compose version v2.19.1
从docker hub拉取Gitblit镜像,使用的镜像为jacekkow/gitblit:v1.9.1。
root@hcss-ecs-f91c:~# docker pull jacekkow/gitblit:v1.9.1
v1.9.1: Pulling from jacekkow/gitblit
57df1a1f1ad8: Pull complete
71e126169501: Pull complete
1af28a55c3f3: Pull complete
a9777c2d5c29: Pull complete
9248106993db: Pull complete
1f74ab5b5b3e: Pull complete
f33944599fe3: Pull complete
3ec5e998e40a: Pull complete
3a0313c9dd93: Pull complete
f2c7438691bf: Pull complete
Digest: sha256:d683b5e04f737315f047baec795d70bb21fa1a0ef8a8956044694f96c6c2f677
Status: Downloaded newer image for jacekkow/gitblit:v1.9.1
docker.io/jacekkow/gitblit:v1.9.1
创建挂载目录/data/gitblit/。
root@hcss-ecs-f91c:~# mkdir -p /data/gitblit
root@hcss-ecs-f91c:~# cd /data/gitblit/
使用docker-cli快速创建Gitblit容器。
docker run -d --name gitblit \
--restart always \
-p 8388:8080 \
-p 8443:8443 \
-p 9418:9418 \
-p 29418:29418 \
-v /data/gitblit/data:/opt/gitblit-data \
jacekkow/gitblit:v1.9.1
在jacekkow/gitblit:v1.9.1容器镜像中,暴露的四个端口分别为8080、8443、9418和29418。它们的含义如下:
8080:Gitblit HTTP服务器监听的端口,用于提供基于Web的Git仓库浏览器和管理界面。
8443:Gitblit HTTPS服务器监听的端口,用于提供基于Web的Git仓库浏览器和管理界面,且所有的通信都是加密的。
9418:Git协议的默认端口,用于Git客户端与Git服务器之间的通信。
29418:Gerrit的SSH监听端口,用于Gerrit管理员和贡献者之间的认证和数据传输,通常用于代码审查和合并代码。
检查Gitblit容器状态,确保Gitblit容器正常启动。
root@hcss-ecs-f91c:/data/gitblit# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f00e6c3f6cec jacekkow/gitblit:v1.9.1 "/bin/sh -c /run.sh" 22 minutes ago Up 22 minutes 0.0.0.0:8443->8443/tcp, :::8443->8443/tcp, 0.0.0.0:9418->9418/tcp, :::9418->9418/tcp, 0.0.0.0:29418->29418/tcp, :::29418->29418/tcp, 0.0.0.0:8388->8080/tcp, :::8388->8080/tcp gitblit
检查Gitblit容器日志,确保查Gitblit正常运行。
docker logs gitblit
进入云耀云服务器L实例的安全组管理页面,入方向放行8388/8443/9418/29418端口。
访问地址:http://弹性公网IP地址:8388,默认账号密码admin/admin。
访问地址:https://弹性公网IP地址:8443,默认账号密码admin/admin。
在右上角的设置菜单中,点击创建版本库。
设置版本库名称,选择访问策略,其余根据需要自定义配置即可。
git config --global user.name "wangming"
git config --global user.email "[email protected]"
git config --global color.ui true
root@hcss-ecs-f91c:/mygit# cat ~/.gitconfig
[user]
name = wangming
email = 123456@qq.com
[color]
ui = true
root@hcss-ecs-f91c:/mygit# git init
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in /mygit/.git/
echo "ECS-test01-V01" > test.txt
git add .
git commit -m "1.0 master-wangming create item for test scripts "
git remote add origin https://[email protected]:8443/r/my-gitblit.git
git remote -v
git config --global http.sslverify false
git config --global https.sslverify false
git pull --rebase origin master
git push -u origin master
查看Gitblit服务器的my-gitblit版本仓库,可以看到测试文件已经成功上传。