Stash 是一个基于 Git 的私有代码托管解决方案,适合需要私有化代码库的开发者和团队,以下是配置 Stash 的详细指南,包括安装、设置代码库、权限管理、Webhooks、自定义域、备份和恢复,以及常用命令和替代工具的使用方法。
安装 Stash
下载安装包
访问 Stash官网,选择适合你操作系统的安装包,支持的平台包括:
- Linux:.deb 或 .rpm 包
- Windows:.exe 或 .zip 文件
- macOS:.zip 文件
安装(Linux 示例)
-
下载相应的.deb 或.rpm 包。
-
使用包管理工具安装:
sudo dpkg -i <.deb 文件名>
-
启动服务:
sudo systemctl start gitolite3 sudo systemctl enable gitolite3
-
访问 Stash Web界面,使用默认用户名和密码进行登录。
配置代码库
添加代码库
- 登录 Stash Web界面。
- 点击右上角的 按钮,选择 Add Repository。
- 填写 Repository Name(可自定义),选择 Git Repository URL(如
git@your-stash-server:your-org/your-repo.git)。 - 点击 Create Repository。
克隆仓库
- 在终端中克隆仓库:
git clone git@your-stash-server:your-org/your-repo.git
- 或者通过浏览器访问仓库地址并克隆。
权限管理
创建组织和成员
- 在 Stash Web界面,点击 Organization,选择 Create Organization。
- 添加成员(如
your-name),设置权限(如管理员或读写)。
设置仓库权限
- 在仓库详情页面,点击 Repository Settings。
- 在 Access 选项卡中,设置访问权限(如允许匿名访问或通过 SSH 公钥验证)。
配置Webhooks
启用Webhooks
- 在仓库详情页面,点击 Webhooks。
- 输入目标 URL(如 CI/CD 工具的 URL)和秘密钥。
- 点击 Add Webhook,完成配置。
自定义域
DNS 配置
- 在你的域名提供商处,创建 CNAME 记录,指向 Stash 服务器的公网 IP。
- 或者创建 A 记录,指向服务器的 IP 地址。
Stash 配置
- 在 Stash Web界面,点击右上角的 Settings(齿轮图标)。
- 选择 Domain Mapping,输入域名和端口(如
http://your-domain.com或https://your-domain.com)。 - 点击 Save。
备份和恢复
定期备份
- 在 Stash Web界面,点击 Repository,选择 Backups。
- 启用自动备份或手动备份到本地或云存储(如 S3 或 GCS)。
恢复仓库
- 访问备份文件,解压并将其复制到新的仓库目录。
- 在 Stash 中创建新仓库并同步备份内容。
常用命令
克隆仓库
git clone git@your-stash-server:your-org/your-repo.git
SSH 访问
git ssh git@your-stash-server:your-org/your-repo.git
删除仓库
git rm -r git@your-stash-server:your-org/your-repo.git
合并分支
git merge origin/master:your-feature-branch
查看日志
git log -p -d 1
使用Gitolite替代工具
如果需要更灵活的私有仓库管理,可以使用 Gitolite。
安装
- 安装 Ruby 和依赖(如
bundle)。 - 克隆 Gitolite 仓库并进入目录:
git clone https://github.com/gitolite/gitolite.git cd gitolite
- 运行安装脚本:
./bin/install -L
配置
- 启动 Gitolite 服务:
gitolite serve
- 在浏览器中访问
http://localhost:9418,创建组织和仓库,设置权限。
配置 Stash 需要一步步完成,从安装到代码库管理、权限设置、Webhooks配置、域名映射、备份和恢复,以及掌握常用命令,通过以上步骤,你可以轻松搭建一个私有化的代码托管平台,满足开发和团队协作的需求,遇到问题时,查阅 Stash 文档或社区获取帮助。









