分类 devopscamp 中的文章

「建议收藏」 十篇文章带你 Golang Cobra 入门到实战(含源码讲解)

「建议收藏」 十篇文章带你 Golang Cobra 入门到实战(含源码讲解) 大家好, 我是老麦。 一头专注 Golang 和 K8s 的胖熊猫。 如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。 状态: 未更新 原文链接: https://typonotes.com/posts/2023/03/02/cobra-book/ Cobra 知识点讲解 时间不知不觉到了 3 月, 我们的 DevOpsCamp 也到了 第4期。 在前面的内容中, 我尝试通过将 cobra 拆解成一个个……

阅读全文

Golang Context 简介和入门使用(1): 值传递

Golang 上下文 Context 源码解析(1): 值传递 如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。 状态: 未更新 原文链接: https://typonotes.com/posts/2023/03/01/devopscamp-context-sample/ 上下文 Context 应该是 Go语言 中一个极其重要的 基石 概念了。 本文将通过一个案例 着重 说明 值传递 的过程、用法和注意事项。 本文会通过 案例分析, 扩展到 源码讲解、使用方式 等多方面进……

阅读全文

Golang 接口(interface) 简介和入门使用

Golang 接口(interface) 简介和入门使用 如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。 状态: 未更新 原文链接: https://typonotes.com/posts/2023/02/28/devopscamp-interface-sample/ 上下文 interface 应该是 Go语言 中一个极其重要的 基石 概念了。 这里有一篇 Go 语言设计与实现 - 接口 interface , 是目前我学习的资料中 完成度 和 友善度 都很高的一篇文章。 在 go v1.18 中, interface……

阅读全文

DevOpsCamp第2期:从 《cobra - 06 持久化命令》 开始聊聊 Go语言 指针类型的使用注意事项

DevOpsCamp第2期:从 《cobra - 06 持久化命令》 开始聊聊 Go语言 指针类型的使用注意事项 如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。 状态: 未更新 原文链接: https://typonotes.com/posts/2023/02/19/devopscamp-cobra-06-persistent-run-and-flags/ 嗯, 在 cobra 中提供了一种叫做 Persistent 的 状态, 定向支持 函数 与 参数。 下面这段代码是是使用时的定义。 1 2 3 4 5 6……

阅读全文

DevopsCamp 第 2 期作业: 《cobra - 04 Go 项目的目录结构》

DevopsCamp 第 2 期作业: 《cobra - 04 Go 项目的目录结构》 原文链接: https://typonotes.com/posts/2023/02/13/devopscamp-cobra-05-layout/ Go 项目的目录结构 Go 项目的目录结构, 通常都会参考该项目 Go语言规范/项目结构 - Github 。 这是一个社区规范, 遵守这个规范, 大家都会很轻松。 但并不是严格的 Go 语言标准, 实际操作中各个公司可能会有自己的标准。 另外, 在上述的 Github 仓库中可以看……

阅读全文

DevopsCamp 第 2 期作业: 《cobra - 05 Cobra 的子命令》 简单说下 cobra 命令树和 gin 路由树的实现差异

DevopsCamp 第 2 期作业: 《cobra - 05 Cobra 的子命令》 简单说下 cobra 命令树和 gin 路由树的实现差异 原文链接: https://typonotes.com/posts/2023/02/14/devopscamp-cobra-05-subcommand/ cobra 的子命令 在 cobra 中, 每个 命令 都是独立的。 通过 parent.AddCommand(children) 的形式进行串连。 1 2 3 4 5 6 7 var root = &cobra.Command{} var child = &cobra.Command{} func init() { root.AddCommand(child) } 没了, 应用上就这么多。 cobra 命令树 如果你用过 gin 的路由树的话, 可能会对 cobra 的命令树实现更为深刻。 删……

阅读全文

DevopsCamp 第一期作业: 《cobra - 03 交互式命令(简单)》 解题答案

DevopsCamp 第一期作业: 《cobra - 03 交互式命令(简单)》 解题答案 原文链接: https://tangx.in/posts/2023/01/26/devopscamp-cobra-interactive-survey/ 本文为 DevOpsCamp 实战训练作业 cobra - 03 配置文件的读取与写入(简单) 的解题答案 DevoOpsCamp 作业地址: https://www.devopscamp.cc/semi-plan-202301-2/posts/homework/cobra03/ 作业: cobra - 03 交互式命令 要求: 使用 https://github.com/spf13/cobra 实现命令工具 使用 https://github.com/go-survey/survey 实现交互式命令 实现 Demo 效果 除了官方效果之外, 我还发现了 aliyun 命令行工具在配置账户的时候……

阅读全文

DevopsCamp 第一期作业: 《cobra - 02 配置文件的读取与写入(简单)》 解题答案

DevopsCamp 第一期作业: 《cobra - 02 配置文件的读取与写入(简单)》 解题答案 原文链接: https://tangx.in/posts/2023/01/24/devopscamp-cobra-binding-config-file/ 本文为 DevOpsCamp 实战训练作业 cobra - 02 配置文件的读取与写入(简单) 的解题答案 DevoOpsCamp 作业地址: https://www.devopscamp.cc/semi-plan-202301-2/posts/homework/cobra02/ 作业要求 使用 https://github.com/spf13/cobra 实现命令工具 命令具有以下参数 --config , -c 配置文件 配置文件如下 1 2 3 # config.yml name: zhangsan age: 20 将配置文件保存为 JSON 格式 1 $ cat config.json 输出结……

阅读全文

DevopsCamp 第一期作业: 《cobra - 01 实现编译与参数绑定(简单)》 解题答案

DevopsCamp 第一期作业: 《cobra - 01 实现编译与参数绑定(简单)》 解题答案 原文链接: https://tangx.in/posts/2023/01/23/devopscamp-cobra01/ 本文为 DevOpsCamp 实战训练的作业解题答案 作业: cobra - 01 实现编译与参数绑定。 DevOpsCamp作业地址: https://www.devopscamp.cc/semi-plan-202301-2/posts/homework/cobra01/ 作业要求: 使用 https://github.com/spf13/cobra 实现命令工具 命令具有以下参数 --name 姓名 --age 年龄 如果年龄为空, 默认为 20 岁。 完成交叉编译脚本, 编译其他……

阅读全文

我用写了一个 gitlab 代码合并机器人, 帮老板每个月省了 100 万(附源码)

我用写了一个 gitlab 代码合并机器人, 帮老板每个月省了 100 万 原文链接: https://tangx.in/posts/2021/06/16/gitlab-mergebot/ gitlab merge request robot 是一个 golang 编写的 gitlab mr 请求处理扩展服务。 由于 gitlab(free plan) 的 Merge Request 功能有限, 不能支持多人 Code Reivew。 因此引入第三方机器人进行 MR 合法性仲裁。 设计思路 目标的安全: 使用 目标项目和分支 中的 .mergebot.yml 配置作为机器人判定配置 有意义的文字信息:……

阅读全文

福利派送

  • (免费星球)「运维成长路线」

  • 又拍云免费 CDN

最近文章

分类

标签

其它