在这里插入图片描述

上一篇:从 Shell 脚本到 Go 应用:使用 Kiro AI 助手完成 Harpoon 项目重构的完整实践

提问:我现在准备发布v1.0到github,并且别人可以下载v1.0的二进制包,我需要做哪些准备和工作

🚀 发布 v1.0 版本准备清单

1. 创建发布脚本

Created
release.sh

2. 创建 LICENSE 文件

Accepted edits to
LICENSE

3. 创建 CHANGELOG.md

Created
CHANGELOG.md

4. 创建 GitHub Actions 工作流(可选,用于自动化发布)

Created
release.yml

5. 创建发布前检查脚本

Created
pre-release-check.sh

6. 创建安装脚本(用户友好)

Created
install.sh

7. 更新 README.md 添加安装脚本

Accepted edits to
README.md

8. 设置脚本权限

Command

chmod +x release.sh pre-release-check.sh install.sh

下一步要做什么

现在你已经完成了发布 v1.0 的所有准备工作!下一步按照以下顺序执行:

🚀 发布 v1.0 的具体步骤

1. 发布前最终检查

# 给脚本执行权限
chmod +x pre-release-check.sh release.sh install.sh

# 运行发布前检查
./pre-release-check.sh

2. 构建所有平台的二进制文件

# 运行发布脚本
./release.sh

这会创建:

  • dist/ 目录包含所有二进制文件
  • dist/packages/ 目录包含打包好的发布文件

3. 测试构建的二进制文件

# 测试当前平台的二进制文件
./dist/hpn-linux-amd64 --help
./dist/hpn-linux-amd64 --version

# 创建测试镜像列表
echo "nginx:latest" > test-images.txt

# 测试基本功能(如果有 Docker)
./dist/hpn-linux-amd64 -a pull -f test-images.txt

4. 提交所有更改到 Git

# 添加所有新文件
git add .

# 提交更改
git commit -m "Release v1.0: Complete Go rewrite with enhanced functionality

- Multi-container runtime support (Docker, Podman, Nerdctl)
- Cross-platform binaries for Linux, macOS, Windows
- Configuration management with YAML files
- Flexible operation modes for different scenarios
- Comprehensive documentation and examples"

# 推送到远程仓库
git push origin main

5. 创建 Git 标签

# 创建带注释的标签
git tag -a v1.0 -m "Release v1.0

First stable release of Harpoon - a powerful cloud-native container image management tool.

Key Features:
- Multi-container runtime support
- Cross-platform compatibility
- Configuration management
- Flexible operation modes
- Enhanced error handling and logging"

# 推送标签到远程仓库
git push origin v1.0

6. 在 GitHub 上创建 Release

  1. 访问你的 GitHub 仓库
  2. 点击 “Releases” → “Create a new release”
  3. 填写以下信息:
    • Tag version: v1.0
    • Release title: Harpoon v1.0 - First Stable Release
    • Description: 复制以下内容
# 🎯 Harpoon v1.0 - First Stable Release

This is the first stable release of Harpoon, a powerful cloud-native container image management tool written in Go.

## ✨ What's New

- **Complete Go rewrite** of the original shell script with enhanced functionality
- **Multi-container runtime support**: Docker, Podman, and Nerdctl compatibility
- **Cross-platform support**: Native binaries for Linux, macOS, and Windows
- **Configuration management**: YAML config files with environment variable overrides
- **Flexible operation modes**: Multiple modes for different deployment scenarios
- **Enhanced error handling**: Comprehensive error messages with suggested solutions

## 📦 Installation

### Quick Install
```bash
curl -fsSL https://raw.githubusercontent.com/ghostwritten/harpoon/main/install.sh | bash

Manual Download

Choose the appropriate binary for your platform from the assets below.

🚀 Quick Start

# Create image list
echo "nginx:latest" > images.txt

# Pull images
hpn -a pull -f images.txt

# Save to tar files
hpn -a save -f images.txt --save-mode 2

# Push to private registry
hpn -a push -f images.txt -r registry.example.com -p myproject --push-mode 2

📖 Documentation

🐛 Bug Reports

Please report issues at: https://github.com/ghostwritten/harpoon/issues

4. **上传发布文件**:
   - 将 `dist/packages/` 目录中的所有文件拖拽到 "Attach binaries" 区域
   - 包括:
     - `hpn-v1.0-linux-amd64.tar.gz`
     - `hpn-v1.0-linux-arm64.tar.gz`
     - `hpn-v1.0-darwin-amd64.tar.gz`
     - `hpn-v1.0-darwin-arm64.tar.gz`
     - `hpn-v1.0-windows-amd64.zip`

5. **点击 "Publish release"**

### 7. 验证发布

```bash
# 测试安装脚本
curl -fsSL https://raw.githubusercontent.com/ghostwritten/harpoon/main/install.sh | bash

# 验证安装
hpn --version
hpn --help

8. 宣传发布(可选)

  • 在相关社区分享(如果适用)
  • 更新项目文档
  • 考虑写一篇博客介绍新功能

🎉 完成!

完成这些步骤后,用户就可以:

  • 通过安装脚本快速安装
  • 从 GitHub Releases 页面下载二进制文件
  • 使用完整的功能和文档

你现在可以开始第一步:运行 ./pre-release-check.sh 来确保一切准备就绪!

Logo

助力合肥开发者学习交流的技术社区,不定期举办线上线下活动,欢迎大家的加入

更多推荐