예제 #1
0
파일: Program.cs 프로젝트: karelz/jenkins
        private static async Task DrainPoisonQueue()
        {
            var account   = GetStorageAccount();
            var client    = account.CreateCloudQueueClient();
            var queue     = client.GetQueueReference($"{AzureConstants.QueueNames.BuildEvent}-poison");
            var populator = new BuildTablePopulator(account.CreateCloudTableClient(), CreateClient(), Console.Out);
            var set       = new HashSet <BuildId>();

            do
            {
                var message = await queue.GetMessageAsync();

                var obj     = JObject.Parse(message.AsString);
                var jobPath = obj.Value <string>("jobName");
                var number  = obj.Value <int>("number");
                var buildId = new BuildId(number, JenkinsUtil.ConvertPathToJobId(jobPath));
                if (!set.Add(buildId))
                {
                    continue;
                }

                await populator.PopulateBuild(buildId);

                await queue.DeleteMessageAsync(message);
            } while (true);
        }
예제 #2
0
파일: Program.cs 프로젝트: karelz/jenkins
        private static async Task TestJob()
        {
            var jobUrlStr = "http://dotnet-ci.cloudapp.net/job/Private/job/dotnet_roslyn-internal/job/microupdate/job/windows_vsi_p2/8/";
            var uri       = new Uri(jobUrlStr);
            var parts     = uri.PathAndQuery.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
            var jobPath   = string.Join("/", parts.Take(parts.Length - 1));
            var number    = int.Parse(parts.Last());
            var jobId     = JenkinsUtil.ConvertPathToJobId(jobPath);
            var buildId   = new BuildId(number, jobId);

            var account   = GetStorageAccount();
            var populator = new BuildTablePopulator(account.CreateCloudTableClient(), CreateClient(), Console.Out);
            await populator.PopulateBuild(buildId);
        }
예제 #3
0
            public void Private()
            {
                var jobId = JenkinsUtil.ConvertPathToJobId("job/Private/job/dotnet_debuggertests/job/master/job/linux_dbg/");

                Assert.Equal("dotnet_debuggertests", AzureUtil.GetViewName(jobId));
            }
예제 #4
0
            public void PrivateRoslyn()
            {
                var jobId = JenkinsUtil.ConvertPathToJobId("job/Private/job/dotnet_roslyn-internal/job/master/job/windows_debug_eta/");

                Assert.Equal("dotnet_roslyn", AzureUtil.GetViewName(jobId));
            }
예제 #5
0
 private static void Test(string path, JobId id)
 {
     Assert.Equal(path, JenkinsUtil.ConvertJobIdToPath(id));
     Assert.Equal(id, JenkinsUtil.ConvertPathToJobId(path));
 }