Skip to content

Commit

Permalink
Merge pull request #140 from kodlamaio-projects/43_Add_pipeline_YML_f…
Browse files Browse the repository at this point in the history
…iles

chore: add azure pipeline files
  • Loading branch information
ahmet-cetinkaya authored Jan 5, 2024
2 parents 9a78174 + 8db767d commit a2d8e7d
Show file tree
Hide file tree
Showing 7 changed files with 316 additions and 1 deletion.
68 changes: 68 additions & 0 deletions .azure/azure-pipelines.development.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
trigger:
branches:
include:
- development

pool:
vmImage: 'ubuntu-latest'

variables:
dotnetConfiguration: 'Debug'
dotnetSolution: '$(System.DefaultWorkingDirectory)/NArchitecture.sln'
dotnetStartupProject: '$(System.DefaultWorkingDirectory)/src/starterProject/WebAPI/WebAPI.csproj'
dotnetEnvironmentName: 'Development'

steps:
- script: git submodule update --init --recursive
name: 'DownloadGitSubmodules'
displayName: 'Download Git Submodules'

- task: NuGetToolInstaller@1
name: 'InstallNuGet'
displayName: 'Install NuGet Tool'

- task: NuGetCommand@2
name: 'RestoreNuGetPackages'
displayName: 'Restore NuGet Packages'
inputs:
command: 'restore'
restoreSolution: '$(dotnetSolution)'
feedsToUse: 'select'

# - task: DotNetCoreCLI@2
# name: 'RestoreDotnetTools'
# displayName: 'Restore Dotnet Tools'
# inputs:
# command: 'custom'
# custom: 'tool'
# arguments: 'restore'

- task: DotNetCoreCLI@2
name: 'RunTests'
displayName: 'Run Tests'
inputs:
command: 'test'
projects: '$(dotnetSolution)'
arguments: '--configuration $(dotnetConfiguration)'

- task: DotNetCoreCLI@2
name: 'PublishApp'
displayName: 'Publish Application'
inputs:
command: 'publish'
publishWebProjects: false
projects: '$(dotnetStartupProject)'
arguments: '--configuration $(dotnetConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: false

# - task: DotNetCoreCLI@2
# name: 'CreateSQLScripts'
# displayName: 'Create SQL Scripts'
# inputs:
# command: 'custom'
# custom: 'ef'
# arguments: 'migrations script --project $(System.DefaultWorkingDirectory)/src/starterProject/Persistence/Persistence.csproj --context BaseDbContext --startup-project $(dotnetStartupProject) --idempotent --output $(Build.ArtifactStagingDirectory)/SQL/migration.sql -- --environment $(dotnetEnvironmentName)'

- task: PublishBuildArtifacts@1
name: 'PublishArtifacts'
displayName: 'Publish Artifacts'
68 changes: 68 additions & 0 deletions .azure/azure-pipelines.production.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
trigger:
branches:
include:
- production

pool:
vmImage: 'ubuntu-latest'

variables:
dotnetConfiguration: 'Release'
dotnetSolution: '$(System.DefaultWorkingDirectory)/NArchitecture.sln'
dotnetStartupProject: '$(System.DefaultWorkingDirectory)/src/starterProject/WebAPI/WebAPI.csproj'
dotnetEnvironmentName: 'Production'

steps:
- script: git submodule update --init --recursive
name: 'DownloadGitSubmodules'
displayName: 'Download Git Submodules'

- task: NuGetToolInstaller@1
name: 'InstallNuGet'
displayName: 'Install NuGet Tool'

- task: NuGetCommand@2
name: 'RestoreNuGetPackages'
displayName: 'Restore NuGet Packages'
inputs:
command: 'restore'
restoreSolution: '$(dotnetSolution)'
feedsToUse: 'select'

# - task: DotNetCoreCLI@2
# name: 'RestoreDotnetTools'
# displayName: 'Restore Dotnet Tools'
# inputs:
# command: 'custom'
# custom: 'tool'
# arguments: 'restore'

- task: DotNetCoreCLI@2
name: 'RunTests'
displayName: 'Run Tests'
inputs:
command: 'test'
projects: '$(dotnetSolution)'
arguments: '--configuration $(dotnetConfiguration)'

- task: DotNetCoreCLI@2
name: 'PublishApp'
displayName: 'Publish Application'
inputs:
command: 'publish'
publishWebProjects: false
projects: '$(dotnetStartupProject)'
arguments: '--configuration $(dotnetConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: false

# - task: DotNetCoreCLI@2
# name: 'CreateSQLScripts'
# displayName: 'Create SQL Scripts'
# inputs:
# command: 'custom'
# custom: 'ef'
# arguments: 'migrations script --project $(System.DefaultWorkingDirectory)/src/starterProject/Persistence/Persistence.csproj --context BaseDbContext --startup-project $(dotnetStartupProject) --idempotent --output $(Build.ArtifactStagingDirectory)/SQL/migration.sql -- --environment $(dotnetEnvironmentName)'

- task: PublishBuildArtifacts@1
name: 'PublishArtifacts'
displayName: 'Publish Artifacts'
68 changes: 68 additions & 0 deletions .azure/azure-pipelines.staging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
trigger:
branches:
include:
- staging

pool:
vmImage: 'ubuntu-latest'

variables:
dotnetConfiguration: 'Debug'
dotnetSolution: '$(System.DefaultWorkingDirectory)/NArchitecture.sln'
dotnetStartupProject: '$(System.DefaultWorkingDirectory)/src/starterProject/WebAPI/WebAPI.csproj'
dotnetEnvironmentName: 'Staging'

steps:
- script: git submodule update --init --recursive
name: 'DownloadGitSubmodules'
displayName: 'Download Git Submodules'

- task: NuGetToolInstaller@1
name: 'InstallNuGet'
displayName: 'Install NuGet Tool'

- task: NuGetCommand@2
name: 'RestoreNuGetPackages'
displayName: 'Restore NuGet Packages'
inputs:
command: 'restore'
restoreSolution: '$(dotnetSolution)'
feedsToUse: 'select'

# - task: DotNetCoreCLI@2
# name: 'RestoreDotnetTools'
# displayName: 'Restore Dotnet Tools'
# inputs:
# command: 'custom'
# custom: 'tool'
# arguments: 'restore'

- task: DotNetCoreCLI@2
name: 'RunTests'
displayName: 'Run Tests'
inputs:
command: 'test'
projects: '$(dotnetSolution)'
arguments: '--configuration $(dotnetConfiguration)'

- task: DotNetCoreCLI@2
name: 'PublishApp'
displayName: 'Publish Application'
inputs:
command: 'publish'
publishWebProjects: false
projects: '$(dotnetStartupProject)'
arguments: '--configuration $(dotnetConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: false

# - task: DotNetCoreCLI@2
# name: 'CreateSQLScripts'
# displayName: 'Create SQL Scripts'
# inputs:
# command: 'custom'
# custom: 'ef'
# arguments: 'migrations script --project $(System.DefaultWorkingDirectory)/src/starterProject/Persistence/Persistence.csproj --context BaseDbContext --startup-project $(dotnetStartupProject) --idempotent --output $(Build.ArtifactStagingDirectory)/SQL/migration.sql -- --environment $(dotnetEnvironmentName)'

- task: PublishBuildArtifacts@1
name: 'PublishArtifacts'
displayName: 'Publish Artifacts'
6 changes: 6 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@
"version": 1,
"isRoot": true,
"tools": {
"dotnet-ef": {
"version": "8.0.0",
"commands": [
"dotnet-ef"
]
},
"csharpier": {
"version": "0.22.1",
"commands": [
Expand Down
1 change: 1 addition & 0 deletions src/starterProject/WebAPI/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
});

builder.Services.AddDistributedMemoryCache(); // InMemory

// builder.Services.AddStackExchangeRedisCache(opt => opt.Configuration = "localhost:6379"); // Redis

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
Expand Down
104 changes: 104 additions & 0 deletions src/starterProject/WebAPI/appsettings.Staging.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
{
"AllowedHosts": "*",

"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},

"ConnectionStrings": {
"BaseDb": ""
},

"CacheSettings": {
"SlidingExpiration": 2
},


"ElasticSearchConfig": {
"ConnectionString": "http://localhost:9200",
"Password": "",
"UserName": ""
},

"MailSettings": {
"AuthenticationRequired": false,
"DkimPrivateKey": "secret dkim key",
"DkimSelector": "dkim selector",
"DomainName": "domain name",
"Password": "Passw0rd",
"Port": 25,
"SenderEmail": "[email protected]",
"SenderFullName": "NArchitecture Security",
"Server": "127.0.0.1",
"UserName": "narchitecture"
},

"CloudinaryAccount": {
"ApiKey": "",
"ApiSecret": "",
"Cloud": ""
},

"SeriLogConfigurations": {
"PostgreConfiguration": {
"ConnectionString": "Host=localhost;Port=5432;Database=TestDb;Username=postgres;Password=test;",
"NeedAutoCreateTable": true,
"TableName": "Logs"
},
"MsSqlConfiguration": {
"AutoCreateSqlTable": true,
"ConnectionString": "data source=NEPTUN\\DVLP2008;initial catalog=TestDb;persist security info=False;user id=sa;password=test^3;",
"TableName": "Logs"
},
"OracleConfiguration": {
"ConnectionString": "Data Source=localhost:1521;User Id=SYSTEM;Password=test;"
},
"FileLogConfiguration": {
"FolderPath": "/logs/"
},
"MSTeamsConfiguration": {
"ChannelHookAdress": ""
},
"MongoDbConfiguration": {
"Collection": "logs",
"ConnectionString": "mongodb://localhost:27017/customerdb?readPreference=primary&appname=MongoDB%20Compass&ssl=false"
},
"ElasticSearchConfiguration": {
"ConnectionString": "http://localhost:9200"
},
"GraylogConfiguration": {
"HostnameOrAddress": "localhost",
"Port": 12201
},
"RabbitMQConfiguration": {
"Exchange": "test_exchange",
"ExchangeType": "fanout",
"Hostnames": [
"localhost"
],
"Password": "guest",
"Port": 5672,
"RouteKey": "Logs",
"Username": "guest"
}
},

"TokenOptions": {
"AccessTokenExpiration": 10,
"Audience": "[email protected]",
"Issuer": "[email protected]",
"RefreshTokenTTL": 2,
"SecurityKey": "strongandsecretkeystrongandsecretkey"
},

"WebAPIConfiguration": {
"APIDomain": "http://localhost:5278/api",
"AllowedOrigins": [
"http://localhost:4200",
"http://localhost:5278"
]
}
}
2 changes: 1 addition & 1 deletion src/starterProject/WebAPI/appsettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
},

"ConnectionStrings": {
"BaseDb": "Server=HOST_ADDRESS; Database=DATABASE_NAME; User Id=USER; Password=PASSWORD; TrustServerCertificate=True;"
"BaseDb": ""
},

"CacheSettings": {
Expand Down

0 comments on commit a2d8e7d

Please sign in to comment.