Skip to content

Commit

Permalink
chore: Update the microservice startup template.
Browse files Browse the repository at this point in the history
  • Loading branch information
colinin committed Feb 22, 2025
1 parent bb8a834 commit 3914dcf
Show file tree
Hide file tree
Showing 48 changed files with 511 additions and 443 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <!-- 或其他适合的框架 -->
<TargetFramework>net9.0</TargetFramework> <!-- 或其他适合的框架 -->
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageId>LINGYUN.Abp.MicroService.Templates</PackageId>
<Version>8.3.4</Version>
<Version>9.0.4</Version>
<Authors>[email protected]</Authors>
<Description>Abp framework micro-service template</Description>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
Expand Down
44 changes: 44 additions & 0 deletions aspnet-core/templates/micro/content/.gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
image: mcr.microsoft.com/dotnet/sdk:9.0

stages:
- build
- test
- tag

build_job:
stage: build
script:
- echo "[ProjectName] - Build project..."
- dotnet build --configuration Release
only:
- dev

test_job:
stage: test
script:
- echo "[ProjectName] - Unit testing..."
- dotnet test --no-build --configuration Release
dependencies:
- build_job
only:
- dev

tag_job:
stage: tag
only:
- main
script:
- echo "[ProjectName] - Tag project..."
# 获取 common.props 中定义的版本号
- export VERSION=$(sed -n 's/.*<Version>\([0-9]*\.[0-9]*\.[0-9]*\)<\/Version>.*/\1/p' common.props)
- echo $VERSION

# 此处 yougitlab.com 替换为自己的 gitlab 服务器
- git config --global user.email "[email protected]"
- git config --global user.name "GitLab CI Bot"

- git tag -f $VERSION
# 此处 yougitlab.com 替换为自己的 gitlab 服务器, 如未启用 https, 变更为 http://oauth2:[email protected]/$CI_PROJECT_PATH.git
# 此处 $GITLAB_TOKEN 需要在gitlab服务器中配置 GITLAB_TOKEN 变量
- git remote set-url origin https://oauth2:[email protected]/$CI_PROJECT_PATH.git
- git push --force origin $VERSION
36 changes: 20 additions & 16 deletions aspnet-core/templates/micro/content/Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<Project>
<PropertyGroup>
<DotNetCoreCAPPackageVersion>8.2.0</DotNetCoreCAPPackageVersion>
<DotNetCoreCAPPackageVersion>8.3.2</DotNetCoreCAPPackageVersion>
<ElsaPackageVersion>2.14.1</ElsaPackageVersion>
<VoloAbpPackageVersion>8.3.4</VoloAbpPackageVersion>
<LINGYUNAbpPackageVersion>8.3.4</LINGYUNAbpPackageVersion>
<MicrosoftExtensionsPackageVersion>8.0.0</MicrosoftExtensionsPackageVersion>
<MicrosoftAspNetCorePackageVersion>8.0.0</MicrosoftAspNetCorePackageVersion>
<MicrosoftEntityFrameworkCorePackageVersion>8.0.0</MicrosoftEntityFrameworkCorePackageVersion>
<VoloAbpPackageVersion>9.0.4</VoloAbpPackageVersion>
<LINGYUNAbpPackageVersion>9.0.4</LINGYUNAbpPackageVersion>
<MicrosoftExtensionsPackageVersion>9.0.0.0</MicrosoftExtensionsPackageVersion>
<MicrosoftAspNetCorePackageVersion>9.0.0.0</MicrosoftAspNetCorePackageVersion>
<MicrosoftEntityFrameworkCorePackageVersion>9.0.0.0</MicrosoftEntityFrameworkCorePackageVersion>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>

Expand Down Expand Up @@ -281,6 +281,9 @@
<PackageVersion Include="Volo.Abp.EntityFrameworkCore" Version="$(VoloAbpPackageVersion)" />
<PackageVersion Include="Volo.Abp.EntityFrameworkCore.MySql" Version="$(VoloAbpPackageVersion)" />
<PackageVersion Include="Volo.Abp.EntityFrameworkCore.SqlServer" Version="$(VoloAbpPackageVersion)" />
<PackageVersion Include="Volo.Abp.EntityFrameworkCore.Sqlite" Version="$(VoloAbpPackageVersion)" />
<PackageVersion Include="Volo.Abp.EntityFrameworkCore.Oracle" Version="$(VoloAbpPackageVersion)" />
<PackageVersion Include="Volo.Abp.EntityFrameworkCore.Oracle.Devart" Version="$(VoloAbpPackageVersion)" />
<PackageVersion Include="Volo.Abp.EntityFrameworkCore.PostgreSql" Version="$(VoloAbpPackageVersion)" />
<PackageVersion Include="Volo.Abp.Features" Version="$(VoloAbpPackageVersion)" />
<PackageVersion Include="Volo.Abp.FeatureManagement.Application" Version="$(VoloAbpPackageVersion)" />
Expand Down Expand Up @@ -361,12 +364,12 @@

<!-- .NET -->
<ItemGroup>
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.4" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="$(MicrosoftAspNetCorePackageVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="$(MicrosoftAspNetCorePackageVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="$(MicrosoftAspNetCorePackageVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="$(MicrosoftAspNetCorePackageVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="$(MicrosoftAspNetCorePackageVersion)" />
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="$(MicrosoftExtensionsPackageVersion)" />
<PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="$(MicrosoftEntityFrameworkCorePackageVersion)" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="$(MicrosoftEntityFrameworkCorePackageVersion)" />
Expand All @@ -377,7 +380,8 @@
<PackageVersion Include="Microsoft.Extensions.Http" Version="$(MicrosoftExtensionsPackageVersion)" />
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="$(MicrosoftExtensionsPackageVersion)" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="$(MicrosoftExtensionsPackageVersion)" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="8.0.2" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsPackageVersion)" />
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="9.0.0-preview.2.efcore.9.0.0" />
</ItemGroup>

<!-- Elsa -->
Expand Down Expand Up @@ -473,19 +477,19 @@
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.8.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.EntityFrameworkCore" Version="1.0.0-beta.11" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.8.1" />
<PackageVersion Include="Polly" Version="8.2.0" />
<PackageVersion Include="Polly" Version="8.4.2" />
<PackageVersion Include="Quartz.Serialization.Json" Version="3.7.0" />
<PackageVersion Include="RulesEngine" Version="4.0.0" />
<PackageVersion Include="Senparc.Weixin.MP" Version="16.18.9" />
<PackageVersion Include="SixLabors.ImageSharp" Version="3.0.2" />
<PackageVersion Include="SixLabors.ImageSharp.Drawing" Version="2.0.1" />
<PackageVersion Include="StackExchange.Redis" Version="2.7.4" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<PackageVersion Include="SixLabors.ImageSharp" Version="3.1.5" />
<PackageVersion Include="SixLabors.ImageSharp.Drawing" Version="2.1.4" />
<PackageVersion Include="StackExchange.Redis" Version="2.8.16" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.8.1" />
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageVersion Include="Tencent.QCloud.Cos.Sdk" Version="5.4.37" />
<PackageVersion Include="TencentCloudSDK" Version="3.0.712" />
<PackageVersion Include="Yarp.ReverseProxy" Version="2.1.0" />
<PackageVersion Include="OpenIddict.Server.DataProtection" Version="5.5.0" />
<PackageVersion Include="OpenIddict.Validation.DataProtection" Version="5.5.0" />
<PackageVersion Include="OpenIddict.Server.DataProtection" Version="5.8.0" />
<PackageVersion Include="OpenIddict.Validation.DataProtection" Version="5.8.0" />
</ItemGroup>
</Project>
4 changes: 2 additions & 2 deletions aspnet-core/templates/micro/content/common.props
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion>
<Version>8.3.4</Version>
<Version>9.0.4</Version>
<Authors>colin</Authors>
<NoWarn>$(NoWarn);CS1591;CS0436;CS8618;NU1803</NoWarn>
<PackageProjectUrl>https://github.com/colinin/abp-next-admin</PackageProjectUrl>
<PackageOutputPath>$(SolutionDir)LocalNuget</PackageOutputPath>
<PackageVersion>8.3.4</PackageVersion>
<PackageVersion>9.0.4</PackageVersion>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/colinin/abp-next-admin</RepositoryUrl>
Expand Down
89 changes: 89 additions & 0 deletions aspnet-core/templates/micro/content/deploy/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# ProjectName Pod
apiVersion: apps/v1
kind: Deployment
metadata:
name: project-name-api
labels:
name: project-name-api
spec:
replicas: 1
selector:
matchLabels:
name: project-name-api
template:
metadata:
labels:
name: project-name-api
spec:
containers:
- name: project-name-api
image: project-name-api:latest
env:
- name: ASPNETCORE_ENVIRONMENT
value: Production
# 时区问题自行修改
# - name: TZ
# value: "Asia/Shanghai"
ports:
- containerPort: 8080
imagePullPolicy: Always
livenessProbe:
httpGet:
path: /healthz
port: 8080
volumeMounts:
# appsettings挂载
# - mountPath: /app/appsettings.Production.json
# name: volume-cmkw2z
# subPath: appsettings.Production.json
- mountPath: /app/Logs
name: volume-xk3mds
subPath: ./logs
- mountPath: /app/Modules
name: volume-xk3mds
subPath: ./modules
volumes:
# 其他存储挂载自行处理
- hostPath:
path: /var/opt/project-name
type: DirectoryOrCreate
# 注意变更名称
name: volume-xk3mds
# appsettings挂载
# - configMap:
# defaultMode: 420
# name: project-name-api
# name: volume-cmkw2z

---
# ProjectName Service
kind: Service
apiVersion: v1
metadata:
name: project-name-api
spec:
type: ClusterIP
ports:
- port: 8080
selector:
name: project-name-api

---
# ProjectName Ingress
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
name: project-name-api
spec:
ingressClassName: nginx
rules:
- host: "project-name-api.local"
http:
paths:
- path: /api/project-name
pathType: Prefix
backend:
service:
name: project-name-api
port:
number: 8080
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
services:
project-name-api:
build:
context: ../host/PackageName.CompanyName.ProjectName.HttpApi.Host/bin/Release/net9.0
dockerfile: ../host/PackageName.CompanyName.ProjectName.HttpApi.Host/Dockerfile
volumes:
- /var/opt/project-name/logs:/app/Logs
- /var/opt/project-name/modules:/app/Modules
restart: always
15 changes: 15 additions & 0 deletions aspnet-core/templates/micro/content/deploy/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
services:
project-name-api:
hostname: project-name-api
container_name: project-name-api
environment:
- ASPNETCORE_ENVIRONMENT=Production
# 时区问题自行修改
# - TZ=Asia/Shanghai
ports:
- "5000:8080"
healthcheck:
test: ["CMD-SHELL", "wget --spider http://localhost/healthz || exit"]
interval: 10s
timeout: 5s
retries: 5
Loading

0 comments on commit 3914dcf

Please sign in to comment.