老树开新花 - Cloud Native Buildpacks
· ☕ 4 分钟
1. Buildpack 老树开新花 Buildpacks 项目最早是由 Heroku 在 2011 年发起, 被以 Cloud Foundry 为代表的 PaaS 平台广泛采用。在之前的文档 《PaaS 部署之 buildpack》 中, 我演示了如何将一个 Django 应用部署到 Heroku 上。 Buildpacks 不足的是产出包是 Droplet 格式, 不能直接适配容器平台。 在 2018 年 1 月, Pivotal 和 Heroku 发起了一个项

DevOps 工具链之 Argo CD
· ☕ 4 分钟
1. Argo CD 能解决什么问题 1.1 从 GitOps 说起 GitOps 起源于 Weaveworks 公司在 2017 年发表的一篇博客, GitOps - Operations by Pull Request 。在文中,Alexis 介绍了一种以 Git 为唯一事实来源的部署方式。 在 GitOps 实践中,我们需要将软件设施定义在 Git 仓库中进行管理。其中的软件设施,包括 IaaS、Kubernet

命令行 Banner 生成工具 - pyfiglet
· ☕ 2 分钟
1. 什么是 pyfiglet pyfiglet 是一个用 Python 实现的 ASCII 艺术字生成工具。可以根据字符生成如下图形: 1 2 3 4 5 6 _ _ _ _ _ _ | |__ ___| | | ___ __ _____ _ __| | __| | | | '_ \ / _ \ | |/ _ \ \ \ /\ / / _ \| '__| |/ _` | | | | | | __/ | | (_) | \ V V / (_) | | | | (_| |_| |_| |_|\___|_|_|\___( ) \_/\_/ \___/|_| |_|\__,_(_) |/ 在编写 CLI 工具时,可

本地执行没问题, GitHub Actions 却一直报错
· ☕ 2 分钟
1. 一个令人困惑的问题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 name: Go on: [push, pull_request] jobs: build: name: CI runs-on: ubuntu-latest steps: - name: Set up Go 1.13 uses: actions/setup-go@v1 with: go-version: 1.13 - name: Check out code into the Go module directory uses: actions/checkout@v2 - name: Check pr is properly formatted run: diff -u <(echo -n) <(gofmt -d ./pkg ./cmd ./tools ./test) - name: Test & Build run: make all 上面是项目中 workflow 的一部分, 主要用来检测代码风格、执行单元测试、

10 个你该了解的 GitHub Actions 进阶技巧
· ☕ 5 分钟
如果你已经在使用 GitHub Actions ,那么阅读本文你将获得更多有趣而有用的打开方式。阅读完,我又给仓库新增了几个 workflow 。 1. workflow 执行时,传入参数 在执行 workflow 时, 允许在 GitHub Actions 页面输入参数,控制执行逻辑。我们可以将人工处理的逻辑,在 GitHub Actions 参数化执行,适用于持续部署场景。 1 2 3