예제 #1
0
        public virtual void Unzip()
        {
            _logger.LogInformation("Unzipping deployment package");
            var zippedFiles = new List <string>();

            UsingArchive((entries, fileHashes) =>
            {
                foreach (var entry in entries)
                {
                    var fullName = entry.Key;
                    zippedFiles.Add(_fsUtil.NormalisePath(fullName));
                    Extract(fullName, entry.Value, fileHashes);
                }
            });

            RenameObsoleteFiles(zippedFiles);

            _fsUtil.PrepareForDelete(_options.DeployedPackageFileName);
            _fsUtil.MoveFile(_options.NewPackageFileName, _options.DeployedPackageFileName);
            _logger.LogInformation("Completed unzipping of deployment package");
        }
예제 #2
0
        public virtual void DeleteObsoleteFiles()
        {
            _logger.LogInformation("Deleting obsoleted files");
            var obsoleteFileCount = 0;

            foreach (var fullName in Directory.GetFiles(".", "*", SearchOption.AllDirectories).Select(f => _fsUtil.NormalisePath(f)))
            {
                if (_fsUtil.IsForDelete(fullName))
                {
                    _fsUtil.DeleteFile(fullName);
                    obsoleteFileCount++;
                }
            }

            _logger.LogInformation("Deleted obsoleted files count={count}", obsoleteFileCount);
        }