@@ -0,0 +1,25 @@ | |||
**/.classpath | |||
**/.dockerignore | |||
**/.env | |||
**/.git | |||
**/.gitignore | |||
**/.project | |||
**/.settings | |||
**/.toolstarget | |||
**/.vs | |||
**/.vscode | |||
**/*.*proj.user | |||
**/*.dbmdl | |||
**/*.jfm | |||
**/azds.yaml | |||
**/bin | |||
**/charts | |||
**/docker-compose* | |||
**/Dockerfile* | |||
**/node_modules | |||
**/npm-debug.log | |||
**/obj | |||
**/secrets.dev.yaml | |||
**/values.dev.yaml | |||
LICENSE | |||
README.md |
@@ -4,8 +4,14 @@ | |||
<TargetFramework>net6.0</TargetFramework> | |||
<Nullable>enable</Nullable> | |||
<ImplicitUsings>enable</ImplicitUsings> | |||
<UserSecretsId>2040c7ff-c388-467e-832b-d91b861f695a</UserSecretsId> | |||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS> | |||
</PropertyGroup> | |||
<ItemGroup> | |||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.18.1" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ProjectReference Include="..\BPA.KitChen.GroupMealOrder.Application\BPA.KitChen.StoreManagementOrder.Application.csproj" /> | |||
<ProjectReference Include="..\BPA.KitChen.GroupMealOrder.Core\BPA.KitChen.StoreManagementOrder.Core.csproj" /> | |||
@@ -0,0 +1,25 @@ | |||
#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. | |||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base | |||
WORKDIR /app | |||
EXPOSE 80 | |||
EXPOSE 443 | |||
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build | |||
WORKDIR /src | |||
COPY ["BPA.KitChen.GroupMealOrder/BPA.KitChen.StoreManagementOrder.csproj", "BPA.KitChen.GroupMealOrder/"] | |||
COPY ["BPA.KitChen.GroupMealOrder.Application/BPA.KitChen.StoreManagementOrder.Application.csproj", "BPA.KitChen.GroupMealOrder.Application/"] | |||
COPY ["BPA.KitChen.GroupMealOrder.Core/BPA.KitChen.StoreManagementOrder.Core.csproj", "BPA.KitChen.GroupMealOrder.Core/"] | |||
COPY ["BPA.KitChen.GroupMealOrder.SqlSugar/BPA.KitChen.StoreManagementOrder.SqlSugar.csproj", "BPA.KitChen.GroupMealOrder.SqlSugar/"] | |||
RUN dotnet restore "BPA.KitChen.GroupMealOrder/BPA.KitChen.StoreManagementOrder.csproj" | |||
COPY . . | |||
WORKDIR "/src/BPA.KitChen.GroupMealOrder" | |||
RUN dotnet build "BPA.KitChen.StoreManagementOrder.csproj" -c Release -o /app/build | |||
FROM build AS publish | |||
RUN dotnet publish "BPA.KitChen.StoreManagementOrder.csproj" -c Release -o /app/publish /p:UseAppHost=false | |||
FROM base AS final | |||
WORKDIR /app | |||
COPY --from=publish /app/publish . | |||
ENTRYPOINT ["dotnet", "BPA.KitChen.StoreManagementOrder.dll"] |
@@ -1,23 +1,14 @@ | |||
{ | |||
"$schema": "https://json.schemastore.org/launchsettings.json", | |||
"iisSettings": { | |||
"windowsAuthentication": false, | |||
"anonymousAuthentication": true, | |||
"iisExpress": { | |||
"applicationUrl": "http://localhost:41386", | |||
"sslPort": 44336 | |||
} | |||
}, | |||
{ | |||
"profiles": { | |||
"BPA.KitChen.StoreManagementOrder": { | |||
"commandName": "Project", | |||
"dotnetRunMessages": true, | |||
"launchBrowser": true, | |||
"launchUrl": "api/index.html", | |||
"applicationUrl": "http://localhost:5248", | |||
"environmentVariables": { | |||
"ASPNETCORE_ENVIRONMENT": "Development" | |||
} | |||
}, | |||
"dotnetRunMessages": true, | |||
"applicationUrl": "http://localhost:5248" | |||
}, | |||
"IIS Express": { | |||
"commandName": "IISExpress", | |||
@@ -26,6 +17,22 @@ | |||
"environmentVariables": { | |||
"ASPNETCORE_ENVIRONMENT": "Development" | |||
} | |||
}, | |||
"Docker": { | |||
"commandName": "Docker", | |||
"launchBrowser": true, | |||
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/weatherforecast", | |||
"publishAllPorts": true, | |||
"useSSL": true | |||
} | |||
}, | |||
"$schema": "https://json.schemastore.org/launchsettings.json", | |||
"iisSettings": { | |||
"windowsAuthentication": false, | |||
"anonymousAuthentication": true, | |||
"iisExpress": { | |||
"applicationUrl": "http://localhost:41386", | |||
"sslPort": 44336 | |||
} | |||
} | |||
} | |||
} |
@@ -0,0 +1,25 @@ | |||
#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. | |||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base | |||
WORKDIR /app | |||
EXPOSE 80 | |||
EXPOSE 443 | |||
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build | |||
WORKDIR /src | |||
COPY ["BPA.KitChen.GroupMealOrder/BPA.KitChen.StoreManagementOrder.csproj", "BPA.KitChen.GroupMealOrder/"] | |||
COPY ["BPA.KitChen.GroupMealOrder.Application/BPA.KitChen.StoreManagementOrder.Application.csproj", "BPA.KitChen.GroupMealOrder.Application/"] | |||
COPY ["BPA.KitChen.GroupMealOrder.Core/BPA.KitChen.StoreManagementOrder.Core.csproj", "BPA.KitChen.GroupMealOrder.Core/"] | |||
COPY ["BPA.KitChen.GroupMealOrder.SqlSugar/BPA.KitChen.StoreManagementOrder.SqlSugar.csproj", "BPA.KitChen.GroupMealOrder.SqlSugar/"] | |||
RUN dotnet restore "BPA.KitChen.GroupMealOrder/BPA.KitChen.StoreManagementOrder.csproj" | |||
COPY . . | |||
WORKDIR "/src/BPA.KitChen.GroupMealOrder" | |||
RUN dotnet build "BPA.KitChen.StoreManagementOrder.csproj" -c Release -o /app/build | |||
FROM build AS publish | |||
RUN dotnet publish "BPA.KitChen.StoreManagementOrder.csproj" -c Release -o /app/publish /p:UseAppHost=false | |||
FROM base AS final | |||
WORKDIR /app | |||
COPY --from=publish /app/publish . | |||
ENTRYPOINT ["dotnet", "BPA.KitChen.StoreManagementOrder.dll"] |
@@ -0,0 +1,126 @@ | |||
pipeline{ | |||
agent any | |||
parameters { | |||
choice( | |||
description: 'saasdev1:开发环境1 \n saastest1:测试环境2 \n dev3:生产环境', | |||
name: 'environment', | |||
choices: ['saasdev1', 'saastest1', 'dev3'] | |||
) | |||
choice( | |||
description: '执行操作(发布|回滚)', | |||
name: 'operation', | |||
choices: ['develop', 'rollback'] | |||
) | |||
choice( | |||
description: '分支名', | |||
name: 'branchName', | |||
choices: ['master'] | |||
) | |||
string( | |||
name: 'tag', | |||
defaultValue: '', | |||
description: '版本tag' | |||
) | |||
} | |||
stages | |||
{ | |||
stage('Prepare') { | |||
steps { | |||
script{ | |||
echo "1.Prepare Stage" | |||
echo "当前环境${params.environment}" | |||
if(params.operation=='develop') | |||
{ | |||
checkout scm | |||
script { | |||
build_tag = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim() | |||
if (env.BRANCH_NAME != 'master') { | |||
build_tag = "${env.BRANCH_NAME}-${build_tag}" | |||
} | |||
} | |||
} | |||
else{ | |||
script { | |||
if(params.branchName!= 'master') | |||
{ | |||
build_tag = "${params.branchName}-${params.tag}" | |||
} | |||
else | |||
{ | |||
build_tag="${params.tag}" | |||
} | |||
} | |||
} | |||
} | |||
} | |||
} | |||
stage('Test') { | |||
steps { | |||
script{ | |||
echo "2.Test Stage" | |||
} | |||
} | |||
} | |||
stage('Build') { | |||
steps { | |||
script{ | |||
echo "3.Build Docker Image Stage" | |||
if(params.operation=='develop') | |||
{ | |||
sh "docker build -t 10.2.1.24:10242/bpa/storemanagementorder:${build_tag} ." | |||
} | |||
} | |||
} | |||
} | |||
stage('Push') { | |||
steps { | |||
script{ | |||
echo "4.Push Docker Image Stage" | |||
withCredentials([usernamePassword(credentialsId: 'harbor', passwordVariable: 'harborPassword', usernameVariable: 'harborUser')]) { | |||
sh "docker login -u ${harborUser} -p ${harborPassword} 10.2.1.24:10242" | |||
if(params.operation=='develop') | |||
{ | |||
sh "docker push 10.2.1.24:10242/bpa/storemanagementorder:${build_tag}" | |||
} | |||
} | |||
} | |||
} | |||
} | |||
stage('Deploy') { | |||
steps { | |||
script{ | |||
echo "5. Deploy Stage" | |||
// if(params.environment=='test') | |||
// { | |||
// input "确认要部署线上环境吗?" | |||
// } | |||
sh "sed -i 's/<BUILD_TAG>/${build_tag}/' k8s_storemanagementorder.yaml" | |||
sh "sed -i 's/<BRANCH_NAME>/${env.BRANCH_NAME}/' k8s_storemanagementorder.yaml" | |||
sh "sed -i 's/<NAMESPACES>/${params.environment}/' k8s_storemanagementorder.yaml" | |||
sh "kubectl apply -f k8s_storemanagementorder.yaml --record" | |||
} | |||
} | |||
} | |||
} | |||
} |
@@ -0,0 +1,7 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<configuration> | |||
<packageSources> | |||
<add key="nuget.org" value="https://api.nuget.org/v3/index.json"/> | |||
<add key="bpa" value="http://10.2.1.25:10243/repository/bpa/index.json"/> | |||
</packageSources> | |||
</configuration> |
@@ -0,0 +1,64 @@ | |||
apiVersion: apps/v1 | |||
kind: Deployment | |||
metadata: | |||
name: storemanagementorder | |||
namespace: kube-<NAMESPACES> | |||
spec: | |||
selector: | |||
matchLabels: | |||
app: storemanagementorder | |||
replicas: 1 | |||
template: | |||
metadata: | |||
labels: | |||
app: storemanagementorder | |||
spec: | |||
containers: | |||
- image: 10.2.1.24:10242/bpa/storemanagementorder:<BUILD_TAG> | |||
imagePullPolicy: IfNotPresent | |||
name: storemanagementorder | |||
env: | |||
- name: branch | |||
value: <BRANCH_NAME> | |||
- name: TZ | |||
value: Asia/Shanghai | |||
ports: | |||
- containerPort: 80 | |||
protocol: TCP | |||
volumeMounts: | |||
- mountPath: "/app/appsettings.json" | |||
name: storemanagementorder-config | |||
readOnly: true | |||
subPath: appsetting | |||
- mountPath: "/etc/localtime" | |||
name: timezone | |||
resources: | |||
requests: | |||
cpu: "100m" | |||
memory: "112Mi" | |||
limits: | |||
cpu: "500m" | |||
memory: "512Mi" | |||
volumes: | |||
- name: storemanagementorder-config | |||
configMap: | |||
name: storemanagementorder-config | |||
- name: timezone | |||
hostPath: | |||
path: /usr/share/zoneinfo/Asia/Shanghai | |||
--- | |||
kind: Service | |||
apiVersion: v1 | |||
metadata: | |||
labels: | |||
app: storemanagementorder | |||
name: storemanagementorder | |||
namespace: kube-<NAMESPACES> | |||
spec: | |||
type: ClusterIP | |||
ports: | |||
- port: 80 | |||
name: http | |||
selector: | |||
app: storemanagementorder |