当前位置: 移动技术网 > IT编程>开发语言>.net > SVN 定时 更新代码 Demo

SVN 定时 更新代码 Demo

2018年06月14日  | 移动技术网IT编程  | 我要评论

兰蔻玫瑰社区,大学生杂志,大话英雄粤语

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网