1 Star 0 Fork 0

好简明云/hjm-certcheck

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
Makefile 2.52 KB
一键复制 编辑 原始数据 按行查看 历史
李栋 提交于 2022-08-07 20:55 . v1.0.0
ROOT_DIR = $(shell pwd)
NAMESPACE = "default"
DEPLOY_NAME = "template-single"
DOCKER_NAME = "hjm-certcheck"
DOCKER_PREFIX = "hjmcloud"
# Install/Update to the latest CLI tool.
.PHONY: cli
cli:
@set -e; \
wget -O gf https://github.com/gogf/gf/releases/latest/download/gf_$(shell go env GOOS)_$(shell go env GOARCH) && \
chmod +x gf && \
./gf install -y && \
rm ./gf
# Check and install CLI tool.
.PHONY: cli.install
cli.install:
@set -e; \
gf -v > /dev/null 2>&1 || if [[ "$?" -ne "0" ]]; then \
echo "GoFame CLI is not installed, start proceeding auto installation..."; \
make cli; \
fi;
# Generate Go files for DAO/DO/Entity.
.PHONY: dao
dao: cli.install
@gf gen dao
# Generate Go files for Service.
.PHONY: service
service: cli.install
@gf gen service
# Build image, deploy image and yaml to current kubectl environment and make port forward to local machine.
.PHONY: start
start:
@set -e; \
make image; \
make deploy; \
make port;
# Build docker image.
.PHONY: image
image: cli.install
$(eval _TAG = $(shell git log -1 --format="%cd.%h" --date=format:"%Y%m%d%H%M%S"))
ifneq (, $(shell git status --porcelain 2>/dev/null))
$(eval _TAG = $(_TAG).dirty)
endif
$(eval _TAG = $(if ${TAG}, ${TAG}, dev))
$(eval _PUSH = $(if ${PUSH}, ${PUSH}, ))
@gf docker $(PUSH) -b "-a amd64 -s linux -p temp" -tn $(DOCKER_NAME):${_TAG} -tp $(DOCKER_PREFIX);
# Build docker image and automatically push to docker repo.
.PHONY: image.push
image.push:
@make image PUSH=-p;
# Deploy image and yaml to current kubectl environment.
.PHONY: deploy
deploy:
$(eval _TAG = $(if ${TAG}, ${TAG}, develop))
@set -e; \
mkdir -p $(ROOT_DIR)/temp/kustomize;\
cd $(ROOT_DIR)/manifest/deploy/kustomize/overlays/${_TAG};\
kustomize build > $(ROOT_DIR)/temp/kustomize.yaml;\
kubectl apply -f $(ROOT_DIR)/temp/kustomize.yaml; \
kubectl patch -n $(NAMESPACE) deployment/$(DEPLOY_NAME) -p "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"$(shell date +%s)\"}}}}}";
# Build binary files and publish.
.PHONY: bin.publish
bin.publish:
@set -e; \
rm -rf $(ROOT_DIR)/temp; \
gf build -n $(DOCKER_NAME) -a 386,amd64,arm,arm64 -s linux,darwin,windows -p temp;\
cd $(ROOT_DIR)/temp;\
git init;\
git add -A;\
git commit -m "deploy | $(shell date +'%Y-%m-%d %H:%M:%S')";\
echo "$(shell date +'%Y-%m-%d %H:%M:%S')|开始到gitee部署";\
git push -f git@gitee.com:$(DOCKER_PREFIX)/$(DOCKER_NAME).git master:release;\
echo "$(shell date +'%Y-%m-%d %H:%M:%S')|完成到gitee部署";\
open https://gitee.com/$(DOCKER_PREFIX)/$(DOCKER_NAME)/pages;
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/hjmcloud/hjm-certcheck.git
git@gitee.com:hjmcloud/hjm-certcheck.git
hjmcloud
hjm-certcheck
hjm-certcheck
master

搜索帮助