cisco_n9k
面向 Cisco Nexus 9000 设备自动化的 Ruby gem。目前为初始骨架,提供命名空间、版本常量与基础异常;设备连接、配置解析和命令操作尚未实现。
安装
要求 Ruby 3.3 或更高版本。
gem install cisco_n9k或在 Gemfile 中添加:
gem "cisco_n9k", "~> 0.1.0"使用
require "cisco_n9k"
CiscoN9K::VERSION # => "0.1.0"
CiscoN9K::Error # StandardError 的子类开发
bundle install
bundle exec rake
bundle exec rake packageCI 覆盖 Ruby 3.3、3.4、4.0。打包步骤在临时 GEM_HOME 中安装并加载 gem,检查版本与加载路径。
发布
- 更新
lib/cisco_n9k/version.rb与CHANGELOG.md,提交并推送到main。 - 等待该提交的 CI 通过,创建并推送同版本标签,例如
v0.1.1。 - 在 GitHub 发布该标签的 Release;
release.yml会重新运行完整 CI,下载通过验证的 gem,发布到 RubyGems,再将相同的 gem 与SHA256SUMS附加到 Release。
git tag -a v0.1.1 -m "Release 0.1.1"
git push origin v0.1.1
gh release create v0.1.1 --verify-tag --title v0.1.1 --notes-file CHANGELOG.md本仓库已配置 RubyGems Trusted Publishing,通过 GitHub OIDC 获取短期发布凭据,无需长期 API key 或手动 OTP。RubyGems 上的 gem cisco_n9k 信任 owner gatework、repository cisco_n9k、workflow release.yml、environment release;发布环境仅允许 v* 标签。
只有主动切换为 API key 认证时,才需要设置 release environment 的 RUBYGEMS_API_KEY secret。
发布后最多等待 10 分钟,核对 RubyGems 版本与下载字节。失败时优先重新运行失败的 job,以复用原 CI 产物。workflow_dispatch 仅接受版本标签,并要求 GitHub Release 已存在。已发布的相同版本只有校验和一致才可继续;不同内容必须提升版本号。
许可
MIT,见 LICENSE。本项目由 gatework 维护,与设备厂商无隶属关系。