Skip to content
This repository was archived by the owner on Jul 30, 2024. It is now read-only.

Commit 71b2912

Browse files
authored
[Revalidation] Add script to initialize the revalidation job (#531)
This script will be run on the first deployment of the revalidation job. It calls the initialization phase and exits. This script can be registered as a Windows service as: 1. The initialization phase verifies that the initialization phase hasn't previously completed. If it has previously completed, the initialization phase exits. 2. The initialization phase cleans up the state if the previous initialization attempt failed.
1 parent 9535e69 commit 71b2912

7 files changed

Lines changed: 24 additions & 16 deletions

File tree

src/NuGet.Services.Revalidate/Job.cs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,6 @@ public override void Init(IServiceContainer serviceContainer, IDictionary<string
4747
_preinstalledSetPath = JobConfigurationManager.TryGetArgument(jobArgsDictionary, RebuildPreinstalledSetArgumentName);
4848
_initialize = JobConfigurationManager.TryGetBoolArgument(jobArgsDictionary, InitializeArgumentName);
4949
_verifyInitialization = JobConfigurationManager.TryGetBoolArgument(jobArgsDictionary, VerifyInitializationArgumentName);
50-
51-
if (_initialize && !JobConfigurationManager.TryGetBoolArgument(jobArgsDictionary, JobArgumentNames.Once))
52-
{
53-
throw new Exception($"Argument {JobArgumentNames.Once} is required if argument {InitializeArgumentName} is present.");
54-
}
55-
56-
if (_verifyInitialization && !JobConfigurationManager.TryGetBoolArgument(jobArgsDictionary, JobArgumentNames.Once))
57-
{
58-
throw new Exception($"Argument {JobArgumentNames.Once} is required if argument {VerifyInitializationArgumentName} is present.");
59-
}
6050
}
6151

6252
public override async Task Run()

src/NuGet.Services.Revalidate/NuGet.Services.Revalidate.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@
8787
<None Include="Scripts\PostDeploy.ps1" />
8888
<None Include="Scripts\PreDeploy.ps1" />
8989
<None Include="Scripts\NuGet.Services.Revalidate.cmd" />
90+
<None Include="Scripts\NuGet.Services.Revalidate.Initialize.cmd" />
9091
<None Include="Settings\dev.json" />
9192
<None Include="Settings\int.json" />
9293
<None Include="Settings\prod.json" />

src/NuGet.Services.Revalidate/NuGet.Services.Revalidate.nuspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
<file src="bin\$configuration$\*.*" target="bin"/>
1414

1515
<file src="Scripts\NuGet.Services.Revalidate.cmd" />
16+
<file src="Scripts\NuGet.Services.Revalidate.Initialize.cmd" />
1617

1718
<file src="Scripts\Functions.ps1" />
1819
<file src="Scripts\PreDeploy.ps1" />
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
@echo OFF
2+
3+
cd bin
4+
5+
:Top
6+
echo "Initializing job - #{Jobs.nuget.services.revalidate.Title}"
7+
8+
title #{Jobs.nuget.services.revalidate.Title}
9+
10+
start /w NuGet.Services.Revalidate.exe ^
11+
-Configuration #{Jobs.nuget.services.revalidate.Configuration} ^
12+
-InstrumentationKey "#{Jobs.nuget.services.revalidate.InstrumentationKey}" ^
13+
-Initialize ^
14+
-VerifyInitialization
15+
16+
echo "Initialized #{Jobs.nuget.services.revalidate.Title}"

src/NuGet.Services.Revalidate/Settings/dev.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@
3131
},
3232

3333
"GalleryDb": {
34-
"ConnectionString": "Data Source=tcp:#{Jobs.validation.GalleryDatabaseAddress};Initial Catalog=nuget-dev-0-v2gallery;Integrated Security=False;User ID=$$Dev-GalleryDBReadOnly-UserName$$;Password=$$Dev-GalleryDBReadOnly-Password$$;Connect Timeout=30;Encrypt=True"
34+
"ConnectionString": "Data Source=tcp:#{Jobs.nuget.services.revalidate.GalleryDatabaseAddress};Initial Catalog=nuget-dev-0-v2gallery;Integrated Security=False;User ID=$$Dev-GalleryDBReadOnly-UserName$$;Password=$$Dev-GalleryDBReadOnly-Password$$;Connect Timeout=30;Encrypt=True"
3535
},
3636
"ValidationDb": {
37-
"ConnectionString": "Data Source=tcp:#{Jobs.validation.DatabaseAddress};Initial Catalog=nuget-dev-validation;Integrated Security=False;User ID=$$Dev-ValidationDBWriter-UserName$$;Password=$$Dev-ValidationDBWriter-Password$$;Connect Timeout=30;Encrypt=True"
37+
"ConnectionString": "Data Source=tcp:#{Jobs.nuget.services.revalidate.DatabaseAddress};Initial Catalog=nuget-dev-validation;Integrated Security=False;User ID=$$Dev-ValidationDBWriter-UserName$$;Password=$$Dev-ValidationDBWriter-Password$$;Connect Timeout=30;Encrypt=True"
3838
},
3939
"ValidationStorage": {
4040
"ConnectionString": "DefaultEndpointsProtocol=https;AccountName=nugetdevlegacy;AccountKey=$$Dev-NuGetDevLegacyStorage-Key$$"

src/NuGet.Services.Revalidate/Settings/int.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@
3131
},
3232

3333
"GalleryDb": {
34-
"ConnectionString": "Data Source=tcp:#{Jobs.validation.GalleryDatabaseAddress};Initial Catalog=nuget-int-0-v2gallery;Integrated Security=False;User ID=$$Int-GalleryDBReadOnly-UserName$$;Password=$$Int-GalleryDBReadOnly-Password$$;Connect Timeout=30;Encrypt=True"
34+
"ConnectionString": "Data Source=tcp:#{Jobs.nuget.services.revalidate.GalleryDatabaseAddress};Initial Catalog=nuget-int-0-v2gallery;Integrated Security=False;User ID=$$Int-GalleryDBReadOnly-UserName$$;Password=$$Int-GalleryDBReadOnly-Password$$;Connect Timeout=30;Encrypt=True"
3535
},
3636
"ValidationDb": {
37-
"ConnectionString": "Data Source=tcp:#{Jobs.validation.DatabaseAddress};Initial Catalog=nuget-int-validation;Integrated Security=False;User ID=$$Int-ValidationDBWriter-UserName$$;Password=$$Int-ValidationDBWriter-Password$$;Connect Timeout=30;Encrypt=True"
37+
"ConnectionString": "Data Source=tcp:#{Jobs.nuget.services.revalidate.DatabaseAddress};Initial Catalog=nuget-int-validation;Integrated Security=False;User ID=$$Int-ValidationDBWriter-UserName$$;Password=$$Int-ValidationDBWriter-Password$$;Connect Timeout=30;Encrypt=True"
3838
},
3939
"ValidationStorage": {
4040
"ConnectionString": "DefaultEndpointsProtocol=https;AccountName=nugetint0;AccountKey=$$Int-NuGetInt0Storage-Key$$"

src/NuGet.Services.Revalidate/Settings/prod.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@
3131
},
3232

3333
"GalleryDb": {
34-
"ConnectionString": "Data Source=tcp:#{Jobs.validation.GalleryDatabaseAddress};Initial Catalog=NuGetGallery;Integrated Security=False;User ID=$$Prod-GalleryDBReadOnly-UserName$$;Password=$$Prod-GalleryDBReadOnly-Password$$;Connect Timeout=30;Encrypt=True"
34+
"ConnectionString": "Data Source=tcp:#{Jobs.nuget.services.revalidate.GalleryDatabaseAddress};Initial Catalog=NuGetGallery;Integrated Security=False;User ID=$$Prod-GalleryDBReadOnly-UserName$$;Password=$$Prod-GalleryDBReadOnly-Password$$;Connect Timeout=30;Encrypt=True"
3535
},
3636
"ValidationDb": {
37-
"ConnectionString": "Data Source=tcp:#{Jobs.validation.DatabaseAddress};Initial Catalog=nuget-prod-validation;Integrated Security=False;User ID=$$Prod-ValidationDBWriter-UserName$$;Password=$$Prod-ValidationDBWriter-Password$$;Connect Timeout=30;Encrypt=True"
37+
"ConnectionString": "Data Source=tcp:#{Jobs.nuget.services.revalidate.DatabaseAddress};Initial Catalog=nuget-prod-validation;Integrated Security=False;User ID=$$Prod-ValidationDBWriter-UserName$$;Password=$$Prod-ValidationDBWriter-Password$$;Connect Timeout=30;Encrypt=True"
3838
},
3939
"ValidationStorage": {
4040
"ConnectionString": "DefaultEndpointsProtocol=https;AccountName=nugetgallery;AccountKey=$$Prod-NuGetGalleryStorage-Key$$"

0 commit comments

Comments
 (0)