2021年6月30日 分支删除触发 gitlab CI 使用 environment , 在 gitlab branch 被删除的时候,触发 CI Stopping an environment 尝试在 JOB A 中申明一个变量,并停止。 使用 on_stop action 动作, 在删除分支时(同时删除变量), 触发运行 JOB B Stop an environment when a branch is deleted Stop an environment when a branch is deleted GitLab 在 CI 中配置一个 环境变量 , 当 branch 被删除的时候清理该 环境变量, 触发 on_stop 动作, 需求。 随后这段代码是节选,在 delpoy_action job……
阅读全文
2021年6月27日 netfilter 五链四表 - 为什么服务器没有监听 80 端口却被k3s占用了 其实标题已经给出答案了。 希望大家都能夯实基础, 万事逃不过一个 道理和规则 。 现象 一天,发现服务器上 80 端口不能正常访问了, 无论怎么都是 404 page not found 。 这就奇怪了。 ssh 登录终端, 查看端口监听情况, nginx 服务器启动的好端端的在那里? 1 2 3 4 5 netstat -tunpl |grep……
阅读全文
2021年6月25日 iptables详解:iptables概念 原文作者: 朱双印 原文链接: https://www.zsythink.net/archives/1199 这篇文章会尽量以通俗易懂的方式描述iptables的相关概念,请耐心的读完它。 防火墙相关概念 此处先描述一些相关概念。 从逻辑上讲。防火墙可以大体分为主机防火墙和网络防火墙。 主机防火墙:针对于单个主机进行防护。 网络……
阅读全文
2021年6月22日 i:=i ? Golang Block 到底是什么? 怎么就能解决闭包变量冲突了? 什么? 你告诉我 i:=i 不仅合法,而且还常用。甚至能解决并发编程中的变量冲突? 以下这段代码出自 golang 官方 的 Effective GO 并发编程章节。 为了解决 goroute 中变量 req 冲突, 使用了语句 req := req https://golang.org/doc/effective_go#concurrency 1 2 3 4 5 6 7 8 9 10 func Serve(queue chan *Request) { for req := range queue { req := req // Create new instance of req for the goroutine. sem <- 1 go func() {……
阅读全文
2021年6月21日 变量在 defer 中的值, 其实在问变量的作用域 有没有想过, 面试中经常问的 变量在 defer 之后的值, 其实是在问 函数变量的作用域 简单的说, defer 就是将当前操作放入 堆 中, 等待触发 return 的时候再拿出来执行。 符合堆的特色, 先进后出。 从细节来了, 还需要注意 变量 在 defer 中的 作用域 ? 函数 的 执行操作 是在 入堆前还是后 ? defer 中的函数……
阅读全文
2021年6月17日 dnsx - 一款支持多解析商的命令行 dnsx 客户端 多支持多运营商的 DNS 命令行 客户端。 Usage 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 DNSx 配置管理 DNS 解析 Usage: dnsx [command] Available Commands: add 添加域名解析 configure 管理配置文件 delete 删除解析记录 help Help about any command search 查询记录信息 switch 切换域名状态 Flags: -c, --config string config file (default "$HOME/.dnsx/dnsx.json") -h, --help help for dnsx -p, --profile string profile (default "default") Use "dnsx [command] --help" for more information about a command. dnsx profile configure dnsx……
阅读全文
2021年6月16日 5分钟k3s - k3s 使用外部数据库实现高可用 hostname ipaddr master01 192.168.0.12 master01 192.168.0.45 agent01 192.168.0.111 1. 安装外置数据库 1 2 3 4 5 6 # 1. 安装一个外置数据库 # yum install mariadb mariadb-server ## ubuntu apt update apt install -y mysql-server 适配 mysql8.0 创建用户 1 2 3 4 5 6 7 8 -- mysql 8.0 创建解决办法: -- 创建账户:create user '用户名'@'访问主机' identified by '密……
阅读全文
2021年6月16日 我用写了一个 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 配置作为机器人判定配置 有意义的文字信息:……
阅读全文
2021年6月12日 XXE 实体注入 好文推荐 https://xz.aliyun.com/t/3357#toc-0 https://cloud.tencent.com/developer/article/1690035 XXE 认识 XML 文档有自己的一个格式规范,这个格式规范是由一个叫做 DTD(document type definition) 的东西控制的,他就是长得下面这个样子 1 2 3 4 5 6 <message> <receiver>Myself</receiver> <sender>Someone</sender> <header>TheReminder</header> <msg>This is an amazing book</msg> </message> XXE(XML External Entity Injection) 全称为 XML 外部实体注入,从名字就能看出来,这是一个注入漏洞,注入的是什么?XM……
阅读全文
2021年6月7日 5分钟k3s - k3s单节点架构介绍与安装卸载管理 k3s 单 Server 节点架构 K3s 单节点集群的架构如下图所示,该集群有一个内嵌 SQLite 数据库的单节点 K3s server。 在这种配置中,每个 agent 节点都注册到同一个 server 节点。K3s 用户可以通过调用 server 节点上的 K3s API 来操作 Kubernetes 资源。 单节点k3s server的架构 Server 安装 安装条件……
阅读全文