feat(jobAutoControl): проекты + cicd
This commit is contained in:
@@ -12,6 +12,7 @@ variables:
|
|||||||
PROD_NAME_NEXT_RUN: "parr/parr-next-run"
|
PROD_NAME_NEXT_RUN: "parr/parr-next-run"
|
||||||
PROD_TEMPLATE_DISTRIBOTOR: "parr/parr-template-distributor"
|
PROD_TEMPLATE_DISTRIBOTOR: "parr/parr-template-distributor"
|
||||||
PROD_TEMPLATE_ACTIVATOR: "parr/parr-template-activator"
|
PROD_TEMPLATE_ACTIVATOR: "parr/parr-template-activator"
|
||||||
|
PROD_JOB_AUTO_CONTROL: "parr/parr-job-auto-control"
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
@@ -561,8 +562,6 @@ prod_template_distributor_deploy:
|
|||||||
|
|
||||||
|
|
||||||
### TEMPLATE ACTIVATOR PROD ###
|
### TEMPLATE ACTIVATOR PROD ###
|
||||||
|
|
||||||
# PROD_TEMPLATE_ACTIVATOR
|
|
||||||
prod_template_activator_build:
|
prod_template_activator_build:
|
||||||
stage: build
|
stage: build
|
||||||
only:
|
only:
|
||||||
@@ -608,3 +607,51 @@ prod_template_activator_deploy:
|
|||||||
- RUNNER: shell-api-swarm-01
|
- RUNNER: shell-api-swarm-01
|
||||||
tags:
|
tags:
|
||||||
- ${RUNNER}
|
- ${RUNNER}
|
||||||
|
|
||||||
|
|
||||||
|
### JOB AUTO CONTROL PROD ###
|
||||||
|
prod_job_auto_control_build:
|
||||||
|
stage: build
|
||||||
|
only:
|
||||||
|
- /^jac[0-9]+\.[0-9]+\.[0-9]+$/
|
||||||
|
except:
|
||||||
|
- branches
|
||||||
|
services:
|
||||||
|
- name: docker:20.10.21-dind
|
||||||
|
command: [
|
||||||
|
"--insecure-registry=10.99.253.167:8090",
|
||||||
|
"--registry-mirror=http://10.99.253.167:8090",
|
||||||
|
"--insecure-registry=harbor.dvgd.rzd",
|
||||||
|
"--tls=false"
|
||||||
|
]
|
||||||
|
variables:
|
||||||
|
DOCKER_HOST: tcp://docker:2375
|
||||||
|
DOCKER_DRIVER: overlay2
|
||||||
|
DOCKER_TLS_CERTDIR: ""
|
||||||
|
script:
|
||||||
|
- APP_VERSION=$(echo $CI_COMMIT_TAG | tr -d jac)
|
||||||
|
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/jac/v/g')
|
||||||
|
- docker build -t $REPO/$PROD_JOB_AUTO_CONTROL:$IMAGE_VERSION -t $REPO/$PROD_JOB_AUTO_CONTROL:latest -t $PROD_JOB_AUTO_CONTROL:$IMAGE_VERSION -t $PROD_JOB_AUTO_CONTROL:latest --build-arg app_version=$APP_VERSION -f PARR.JobAutoControlWorker/Dockerfile .
|
||||||
|
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
|
||||||
|
- docker push --all-tags $REPO/$PROD_JOB_AUTO_CONTROL
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
|
||||||
|
|
||||||
|
prod_job_auto_control_deploy:
|
||||||
|
stage: deploy
|
||||||
|
environment:
|
||||||
|
name: parr-template-activator
|
||||||
|
only:
|
||||||
|
- /^jac[0-9]+\.[0-9]+\.[0-9]+$/
|
||||||
|
except:
|
||||||
|
- branches
|
||||||
|
script:
|
||||||
|
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/jac/v/g')
|
||||||
|
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
|
||||||
|
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.job-auto-control.yml parr-job-auto-control --with-registry-auth
|
||||||
|
parallel:
|
||||||
|
matrix:
|
||||||
|
- RUNNER: shell-api-swarm-01
|
||||||
|
tags:
|
||||||
|
- ${RUNNER}
|
||||||
9
PARR.JobAutoControl/PARR.JobAutoControl.csproj
Normal file
9
PARR.JobAutoControl/PARR.JobAutoControl.csproj
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
13
PARR.JobAutoControlWorker/PARR.JobAutoControlWorker.csproj
Normal file
13
PARR.JobAutoControlWorker/PARR.JobAutoControlWorker.csproj
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk.Worker">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<UserSecretsId>dotnet-PARR.JobAutoControlWorker-50dc4ed1-928f-47c3-855e-137f03acd19c</UserSecretsId>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
10
PARR.JobAutoControlWorker/Program.cs
Normal file
10
PARR.JobAutoControlWorker/Program.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
using PARR.JobAutoControlWorker;
|
||||||
|
|
||||||
|
IHost host = Host.CreateDefaultBuilder(args)
|
||||||
|
.ConfigureServices(services =>
|
||||||
|
{
|
||||||
|
services.AddHostedService<Worker>();
|
||||||
|
})
|
||||||
|
.Build();
|
||||||
|
|
||||||
|
host.Run();
|
||||||
11
PARR.JobAutoControlWorker/Properties/launchSettings.json
Normal file
11
PARR.JobAutoControlWorker/Properties/launchSettings.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"profiles": {
|
||||||
|
"PARR.JobAutoControlWorker": {
|
||||||
|
"commandName": "Project",
|
||||||
|
"dotnetRunMessages": true,
|
||||||
|
"environmentVariables": {
|
||||||
|
"DOTNET_ENVIRONMENT": "Development"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
PARR.JobAutoControlWorker/Worker.cs
Normal file
21
PARR.JobAutoControlWorker/Worker.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
namespace PARR.JobAutoControlWorker
|
||||||
|
{
|
||||||
|
public class Worker : BackgroundService
|
||||||
|
{
|
||||||
|
private readonly ILogger<Worker> _logger;
|
||||||
|
|
||||||
|
public Worker(ILogger<Worker> logger)
|
||||||
|
{
|
||||||
|
_logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||||
|
{
|
||||||
|
while (!stoppingToken.IsCancellationRequested)
|
||||||
|
{
|
||||||
|
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
|
||||||
|
await Task.Delay(1000, stoppingToken);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
8
PARR.JobAutoControlWorker/appsettings.Development.json
Normal file
8
PARR.JobAutoControlWorker/appsettings.Development.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.Hosting.Lifetime": "Information"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
8
PARR.JobAutoControlWorker/appsettings.json
Normal file
8
PARR.JobAutoControlWorker/appsettings.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft.Hosting.Lifetime": "Information"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -28,6 +28,8 @@
|
|||||||
- PARR.EsppTemplateSyncWorker - worker для PARR.EsppTemplateSync
|
- PARR.EsppTemplateSyncWorker - worker для PARR.EsppTemplateSync
|
||||||
- PARR.GeneratorTemplates - логика генерации шаблонов в ПАРР
|
- PARR.GeneratorTemplates - логика генерации шаблонов в ПАРР
|
||||||
- PARR.GeneratorTemplatesWorker - Worker для PARR.GeneratorTemplates
|
- PARR.GeneratorTemplatesWorker - Worker для PARR.GeneratorTemplates
|
||||||
|
- PARR.JobAutoControl - управляет авто-контролем РР, формирует задания для генератора / активатора РР по расписанию
|
||||||
|
- PARR.JobAutoControlWorker - Worker для PARR.JobAutoControl
|
||||||
- PARR.Mail - сервис по работе с почтой
|
- PARR.Mail - сервис по работе с почтой
|
||||||
- PARR.Master - логика связывания нарядов ЕСПП и Агентов ПАРР, связывание нарядов и шаблонов, добавление нарядов в очередь на закрытие
|
- PARR.Master - логика связывания нарядов ЕСПП и Агентов ПАРР, связывание нарядов и шаблонов, добавление нарядов в очередь на закрытие
|
||||||
- PARR.MasterWorker
|
- PARR.MasterWorker
|
||||||
|
|||||||
25
docker-compose.job-auto-control.yml
Normal file
25
docker-compose.job-auto-control.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
version: '3.4'
|
||||||
|
|
||||||
|
#PARR JOB AUTO CONTROL
|
||||||
|
services:
|
||||||
|
parr-template-activator:
|
||||||
|
image: harbor.dvgd.rzd/parr/parr-job-auto-control:${tag-latest}
|
||||||
|
environment:
|
||||||
|
- ASPNETCORE_ENVIRONMENT=Production
|
||||||
|
- TZ=Europe/Moscow
|
||||||
|
logging:
|
||||||
|
driver: fluentd
|
||||||
|
options:
|
||||||
|
fluentd-address: dvgd-efk-01.dvgd.oao.rzd:24224
|
||||||
|
fluentd-retry-wait: '30s'
|
||||||
|
fluentd-max-retries: '30'
|
||||||
|
tag: parr.job-auto-control.serilog
|
||||||
|
deploy:
|
||||||
|
replicas: 1
|
||||||
|
networks:
|
||||||
|
parr-network:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
parr-network:
|
||||||
|
driver: overlay
|
||||||
|
external: true
|
||||||
Reference in New Issue
Block a user