一个select死锁问题
话说前几天我遇到了一个死锁问题,当时想了一些办法糊弄过去了,不过并没有搞明白问题的细节,周末想起来便继续研究了一下,最终便有了这篇文章。
在docker环境导入私有仓库的问题
最近我遇到了一个在 docker 环境导入私有仓库的问题:一个 Golang 项目,使用 gitlab ci 来发布,通过 gitlab runner 调用 docker-compose 来打包,但是在构建时失败了。
让我们重回案发现场,看看是否留下了什么线索:
首先是 .gitlab-ci.yml 文件,其相关代码片段内容如下:
build_job: stage: build script: - make docker-build 然后是 Makefile 文件,其相关代码片段内容如下:
.PHONY: docker-build docker-build: @docker-compose build 接着是 docker-compose.yml 文件,其相关代码片段内容如下:
build: context: . dockerfile: Dockerfile 最后是 Dockfile 文件,其相关代码片段内容一下:
FROM golang:1.17 AS builder WORKDIR /go/src/app COPY . . RUN go build 结果在 build 的时候报错了:
fatal: could not read Username for ‘https://git.domain.com’: terminal prompts disabled
因为 git.
记又一次对Makefile的重构
我平常有一个习惯,就是不断看以前写的代码,想着有没有哪些方面可以改进,如果每天能把代码可读性量变 1%,那么日积月累就是质变:前些天我们写过一次对 Makefile 的重构,去掉了一处重复代码的坏味道,没过多久我便又发现了一处重复代码的坏味道,本文就让我们看看如何消灭它!
记一次对Makefile的重构
如果你不了解 Makefile 的话,那么推荐看看阮一峰的文章「Make 命令教程」。本文通过一个重构的例子带你写出味道更好的 Makefile,让我们开始吧!