Ejemplo n.º 1
0
        static async Task Main()
        {
            string connectionString = ConfigurationManager.AppSettings["BlobTemplatesProvider:ConnectionString"];
            string containerName    = ConfigurationManager.AppSettings["BlobTemplatesProvider:ContainerName"];
            var    cloneProvider    = new BlobTemplatesProvider(connectionString, containerName);

            Uri    baseUrl       = new Uri(ConfigurationManager.AppSettings["GitHubTemplateProvider:BaseUrl"]);
            string repositoryUrl = ConfigurationManager.AppSettings["GitHubTemplateProvider:RepositoryPath"];

            // GitHub Personal Access Token requires scopes:
            // repo
            // read:org
            // read:user
            string personalAccessToken = ConfigurationManager.AppSettings["GitHubTemplateProvider:PersonalAccessToken"];

            var sourceProvider = new GitHubTemplatesProvider(baseUrl, repositoryUrl, personalAccessToken);

            var sync = new SyncEngine(sourceProvider, cloneProvider);

            sync.Log            = Console.WriteLine;
            sync.ExclusionRules = @"[\w|\/]*\/source[\w|\/]*";
#if DEBUG
            await sync.RunAsync(false);
#else
            await sync.RunAsync(true);
#endif
        }
        public async Task RunAsync()
        {
            string connectionString = ConfigurationManager.AppSettings["BlobTemplatesProvider:ConnectionString"];
            string containerName    = ConfigurationManager.AppSettings["BlobTemplatesProvider:ContainerName"];
            var    cloneProvider    = new BlobTemplatesProvider(connectionString, containerName);

            Uri    baseUrl             = new Uri(ConfigurationManager.AppSettings["GitHubTemplateProvider:BaseUrl"]);
            string repositoryUrl       = ConfigurationManager.AppSettings["GitHubTemplateProvider:RepositoryPath"];
            string personalAccessToken = ConfigurationManager.AppSettings["GitHubTemplateProvider:PersonalAccessToken"];

            var sourceProvider = new GitHubTemplatesProvider(baseUrl, repositoryUrl, personalAccessToken);

            var sync = new SyncEngine(sourceProvider, cloneProvider);
            await sync.RunAsync(true);
        }