1. 关于 Label在前面的文档 如何使用 python-gitlab 自动创建 GitLab Label 中,我已经阐述了 Label 可以用于简单的项目管理。一个团队,通常不止一个代码仓库,为了减轻沟通和学习成本,除了使用一致的工具链,还应该达成一定的基础共识。这些基础共识,促使大家达成最佳的
通常,我们在主机上执行 export http_proxy/https_proxy 格式的命令,即可设置 Proxy 。但是主机上的设置在容器中并不会生效,下面提供了几种配置方法。1. 配置 Docker 的代理 - Node 级在需要使用 Proxy 的节点进行配置,下面以 Docker 为例:创
大家是否思考过如何设计大型企业级系统?在进行主要的软件开发之前,我们先得选择一个合适的架构。这个架构要给我们所需的功能和质量保证。因此,在将这些架构用于我们的设计之前,我们应该理解不同的架构体系。1. 什么是架构模式根据 Wikipedia 解释,一个架构模式就是,在给定上下文条件下,解决软件架构中
最近用 Surface ,找出触控笔发现没电。换了一个 AAAA 电池,又发现笔尖触控失效。网上很多文档介绍的是卸载 Marvell AVASTAR Bluetooth ,重启生效。但这种方法对我无效,卸载 Precise Touch Device 之后反而生效。在设备管理里面找到下图选项,右键卸载
1. Restful 请求1 curl -X POST --data 'keyword=value' http://domain.com/mypath/ -X 后面还可以是 DELETE PUT 等。2. 添加头部1 curl -H 'Content-Type:application/json' -
Homebrew 是 OS X 下的包管理工具,类似 CentOS 的 yum ,Ubuntu 的 apt-get 。在 OS X 命令行下,可以通过 brew 和 brew cask 命令安装应用。1. 安装 brew cask1 brew install brew-cask-completion
磨刀不误砍柴工,无论什么时候,花点时间在工具链上都是值得的。1. 自动补全 - kubectlOS X 安装命令:1 brew install [email protected] 不仅仅是 kubectl ,也给其他命令行提供自动补全的命令提示。在 .zshrc 中添加如下内容:1 2 # kube
1. 问题描述配置 Webhook 自动触发执行 Jenkins 流水线时,报错:1 2 3 hudson.plugins.git.GitException: Command "git checkout -f 23b446ea" returned status code 128: stdout:
1. 当我们值工单时,在值什么一般人可能只提过工单,没值过工单。值过工单的人一般不会轻易提工单。工单就是客户花钱买产品,赠送的一服务,专门解决各种使用上的问题。在云基础设施的厂商很常见,IaaS、CDN、Domain、Container 等,不会用提个工单,用起来了不符合预期提个工单,符合预期想来点
1. Create a merge commitPR Commit 记录:1 2 commit c1 commit c2 集成分支 Commit 记录:1 2 3 commit PR #NUM commit c2 commit c1 Create a merge commit 会将 PR 中的全部
这也是一个给开源项目提交 PR 的完整 Git 流程。1. 本地配置提交用户信息1 2 git config --global user.name "username" git config --global user.email "[email protected]" GPG 配置参考:GPG 验
1. Kubernetes 中的调度器kube-scheduler 是 Kubernetes 中决定 Pending 状态的 Pod 运行在哪个 Node 的组件,被称之为调度器。Kubernetes 中内置了大量的调度策略,也提供了一些高级调度策略(nodeAffinity、podAffinity
1. 提高自动化水平远端构建通常需要借助一定的 CI 工具,比如 Github Actions 、Travis CI 等。如果是内网环境,可以借助 GitLab CI ,添加一个 CI 节点进行自动化构建,可以参考 我的 GitLab 文档 。自动化的好处不言而喻,能规范流程、节约大量时间,具有明显
1. 批量删除 Evicted 状态的 Pod1 kubectl get pods --all-namespaces -o wide | grep Evicted | awk '{print $1,$2}' | xargs -L1 kubectl delete pod -n 2. 批量删除指定空间指
在对 JWT 进行 Base64 解码时,发现 JSON 数据不完整。本文主要介绍相关知识点并解决这个问题。1. JWT 简介JWT 通过在 Header 中设置 Authorization: Bearer <token> 进行认证的传递。JWT Token 是一个 . 连接的 Base
这里主要使用 Windows 节点作为 Worker,而 Master 控制平面依然在 Linux 。1. 系统配置1.1 Kubernetes 控制平面Kubernetes 自 1.14 版本,增加了对 Windows 节点生产级的支持。由于微软官方文档主要提供的是 flannel 网络插件的安装
1. 思想驱动行为思想驱动行为,行为产生效益。接人、待物、处事来源于文化,不会因为技术的迅猛发展而产生跃变。拥有悠久历史的中华民族,沉淀了极具韧性的思想智慧。王朝更迭,政治更替,都打不到她。即使用武力征服,最终也会被同化。汲取更多先哲智慧、历史教训是有必要的。时间上的大尺度,能给人远见和宁静;小尺度
在前面两篇文档,在 Kubernetes 上动态创建 Jenkins Slave 和 Kubernetes 添加 Windows 节点提供 Jenkins 构建动态 Agent 的基础之上,本篇文档主要尝试在 Kubernetes 上动态提供 Windows 构建 Agent 。1. 新增流水线Ku
使用 Jenkins 总是离不开各种各样的插件,为了更好的实践 DevOps ,我们也应该具备开发插件的能力,使整个流程都能够在 Jenkins 中汇合。1. Jenkins 插件1.1 插件的生态Jenkins 前身 Hudson 始于 2004 ,历经 16 年,依然作为主流的 CI/CD 引擎
在 CICD 的流程中,需要保存的产物主要有两类,构建产物和缓存。构建产物是最终的执行结果,缓存是为了优化下一次的构建速度。本篇主要描述的是在 Jenkins 中如何对构建产物和缓存进行归档,并结合对象存储进行实践。有部分示例使用的是 在 Kubernetes 上动态创建 Jenkins Slave