當前位置:
首頁 >
SVN 定时 更新代码 Demo
發布時間:2023/12/1
42
豆豆
生活随笔
收集整理的這篇文章主要介紹了
SVN 定时 更新代码 Demo
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 涉及技術:
Winservice: 用system身份后臺跑;? Quartz:定時任務;? SVN?
2. 思路:
Quartz定時調用cmd 程序,執行SVN update 命令,整個程序寄宿在Winservice
3. 步驟:
1)service 用local system賬戶安裝,通過Process 啟動cmd 程序。
執行核心代碼:?
? ? string path = ConfigurationManager.AppSettings["localPath"].ToString(); ? ?
? ? string username = ConfigurationManager.AppSettings["username"].ToString();
? ? string password = ConfigurationManager.AppSettings["password"].ToString();?
?
Process p = new Process();ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();startInfo.UseShellExecute = false;startInfo.RedirectStandardInput = true;startInfo.RedirectStandardOutput = true;startInfo.FileName = @"cmd.exe ";//startInfo.Arguments = " /c svn update " + path + " --username mashenghao --password mashenghao ";p.StartInfo = startInfo;p.Start();p.StandardInput.WriteLine("svn update " + path + " --username " + username + " --password " + password + " &exit ");p.StandardInput.AutoFlush = true;string output = p.StandardOutput.ReadToEnd();p.WaitForExit();p.Close();?
2) Quartz 定時執行步驟1) ? ???
ISchedulerFactory fact = new StdSchedulerFactory();?
IScheduler sche = fact.GetScheduler();sche.Start();IJobDetail detail = JobBuilder.Create<AutoUpdateQuartzJob>().WithIdentity("SVNAutoUpdate", "SVNAutoUpdate").Build();ITrigger trigger = TriggerBuilder.Create().WithIdentity("SVNAutoUpdateTrigger", "SVNAutoUpdateTrigger").StartNow().WithSimpleSchedule(x => x.WithIntervalInSeconds(15).RepeatForever()).Build();IJobListener listener = new AutoUpdateQuartzJobListern();sche.ScheduleJob(detail, trigger);3) 安裝winservice? cmd 管理員身份運行
>? cd? C:\Windows\Microsoft.NET\Framework\v4.0.30319
> installutil XXX.exe
轉載于:https://www.cnblogs.com/breezesit/p/9175302.html
總結
以上是生活随笔為你收集整理的SVN 定时 更新代码 Demo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将训练集构建成ImageNet模型
- 下一篇: tornado-简介和原理