Compare commits

...

4 Commits

Author SHA1 Message Date
daniel.w 8226e179ab feat: init make file and docker file 2024-08-20 18:17:34 +08:00
daniel.w 24500f5744 feat: init make file and docker file 2024-08-20 18:14:19 +08:00
daniel.w dd872b7abf feat: init make file and docker file 2024-08-20 18:05:39 +08:00
daniel.w c1188a8308 feat: make file 2024-08-20 14:35:14 +08:00
6 changed files with 48 additions and 34 deletions

2
.gitignore vendored
View File

@ -2,5 +2,5 @@
go.sum go.sum
account/ account/
gen_result/ gen_result/
etc/app-cloudep-notification-service.yaml etc/service.yaml
./client ./client

View File

@ -1,6 +1,5 @@
GO_CTL_NAME=goctl GO_CTL_NAME=goctl
# go-zero 生成風格 # go-zero 生成風格
GO_ZERO_STYLE=go_zero GO_ZERO_STYLE=go_zero
@ -8,6 +7,8 @@ GO ?= go
GOFMT ?= gofmt "-s" GOFMT ?= gofmt "-s"
GOFILES := $(shell find . -name "*.go") GOFILES := $(shell find . -name "*.go")
LDFLAGS := -s -w LDFLAGS := -s -w
VERSION="v1.0.3"
DOCKER_REPO="igs170911/notification"
.PHONY: test .PHONY: test
test: # 進行測試 test: # 進行測試
@ -34,4 +35,15 @@ gen-clean: # 建立 rpc code
rm -rf go.mod rm -rf go.mod
rm -rf go.sum rm -rf go.sum
rm -rf service.go rm -rf service.go
@echo "Generate core-api files successfully" @echo "Generate core-api files successfully"
.PHONY: run-docker
run-docker: # 建立 rpc code
docker run --platform=linux/arm64/v8 -p 8080:8080 $(DOCKER_REPO):$(VERSION)
.PHONY: build-docker
build-docker:
cp ./build/Dockerfile Dockerfile
docker buildx build -t $(DOCKER_REPO):$(VERSION) --build-arg SSH_PRIVATE_KEY="$(cat ~/.ssh/ed_25519)" .
rm -rf Dockerfile
@echo "Generate core-api files successfully"

View File

@ -2,46 +2,46 @@
# BUILDER # # BUILDER #
########### ###########
FROM golang:1.20 as builder FROM golang:1.22.3 as builder
ARG VERSION ARG VERSION
ARG BUILT ARG BUILT
ARG GIT_COMMIT ARG GIT_COMMIT
ARG SSH_PRV_KEY
# private go packages
ENV GOPRIVATE=code.30cm.net
ENV FLAG="-s -w -X main.Version=${VERSION} -X main.Built=${BUILT} -X main.GitCommit=${GIT_COMMIT}"
WORKDIR /app
COPY . .
RUN apt-get update && \ RUN apt-get update && \
apt-get install git apt-get install git
WORKDIR /app # Make the root foler for our ssh
RUN mkdir -p /root/.ssh && \
chmod 0700 /root/.ssh && \
ssh-keyscan git.30cm.net > /root/.ssh/known_hosts && \
echo "$SSH_PRV_KEY" > /root/.ssh/id_rsa && \
chmod 600 /root/.ssh/id_rsa
COPY . .
# Download public key for yt.com
RUN mkdir -p -m 0700 ~/.ssh && ssh-keyscan yt.com >> ~/.ssh/known_hosts
# Forces the usage of git and ssh key fwded by ssh-agent for yt.com git repos
RUN git config --global url."git@yt.com:".insteadOf "https://yt.com"
# private go packages
ENV GOPRIVATE=yt.com
RUN --mount=type=ssh go mod download RUN --mount=type=ssh go mod download
ENV FLAG="-s -w -X main.Version=${VERSION} -X main.Built=${BUILT} -X main.GitCommit=${GIT_COMMIT}" RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build \
-ldflags "$FLAG" \ -ldflags "$FLAG" \
-o /permission-server ./cmd/permission -o service
#########
# FINAL #
#########
FROM oraclelinux:9-slim AS final
##########
## FINAL #
##########
#
FROM gcr.io/distroless/static-debian11
WORKDIR /app WORKDIR /app
COPY --from=builder /permission-server /app/permission-server COPY --from=builder /app/service /app/service
COPY --from=builder /app/configs/config-example.yaml /app/config.yaml COPY --from=builder /app/etc/service.yaml /app/etc/service.yaml
COPY --from=builder /app/configs/rbac_model.conf /app/rbac_model.conf EXPOSE 8080
CMD ["/app/service"]
CMD ["/app/permission-server"]

1
go.mod
View File

@ -3,6 +3,7 @@ module app-cloudep-notification-service
go 1.22.3 go 1.22.3
require ( require (
code.30cm.net/digimon/library-go/errors v1.0.0
github.com/zeromicro/go-zero v1.7.0 github.com/zeromicro/go-zero v1.7.0
google.golang.org/grpc v1.65.0 google.golang.org/grpc v1.65.0
google.golang.org/protobuf v1.34.2 google.golang.org/protobuf v1.34.2

View File

@ -1,11 +1,11 @@
package senderservicelogic package senderservicelogic
import ( import (
"context"
"app-cloudep-notification-service/gen_result/pb/notification" "app-cloudep-notification-service/gen_result/pb/notification"
"app-cloudep-notification-service/internal/svc" "app-cloudep-notification-service/internal/svc"
ers "code.30cm.net/digimon/library-go/errors"
"context"
"fmt"
"github.com/zeromicro/go-zero/core/logx" "github.com/zeromicro/go-zero/core/logx"
) )
@ -23,9 +23,9 @@ func NewSendMailByTemplateIdLogic(ctx context.Context, svcCtx *svc.ServiceContex
} }
} }
// SendMailByTemplateID 寄送模板信件 // SendMailByTemplateId 寄送模板信件
func (l *SendMailByTemplateIdLogic) SendMailByTemplateId(in *notification.SendByTemplateIDReq) (*notification.OKResp, error) { func (l *SendMailByTemplateIdLogic) SendMailByTemplateId(in *notification.SendByTemplateIDReq) (*notification.OKResp, error) {
// todo: add your logic here and delete this line fmt.Println(ers.ResourceNotFound("testing"))
return &notification.OKResp{}, nil return &notification.OKResp{}, nil
} }

View File

@ -7,6 +7,7 @@ import (
"context" "context"
"app-cloudep-notification-service/gen_result/pb/notification" "app-cloudep-notification-service/gen_result/pb/notification"
senderservicelogic "app-cloudep-notification-service/internal/logic/senderservice"
"app-cloudep-notification-service/internal/logic/senderservice" "app-cloudep-notification-service/internal/logic/senderservice"
"app-cloudep-notification-service/internal/svc" "app-cloudep-notification-service/internal/svc"
) )