Esempio n. 1
0
        public override void Deploy(DeploymentMetadata metadata)
        {
            var packageFilename = CreateArchive(metadata);

            if (string.IsNullOrEmpty(packageFilename))
            {
                throw new FileNotFoundException("Failed to create zip archive from output");
            }
            TransferArchive(metadata, packageFilename);
        }
Esempio n. 2
0
        private void TransferArchive(DeploymentMetadata metadata, string filename)
        {
            HttpContent streamContent = new StreamContent(File.OpenRead(filename));

            using (var client = new HttpClient())
            {
                using (var formData = new MultipartFormDataContent())
                {
                    formData.Add(streamContent, "files", Path.GetFileName(filename));
                    HttpResponseMessage response = client.PostAsync(new Uri(metadata.TargetFileUploadUriAddress), formData).Result;
                    if (!response.IsSuccessStatusCode)
                    {
                        Debug.WriteLine("Failed to send");
                    }
                }
            }
        }
Esempio n. 3
0
        private DeploymentMetadata GetMetadata()
        {
            var result = new DeploymentMetadata();

            result.DeploymentType     = IsPortable ? DeploymentType.FrameworkDependent : DeploymentType.SelfContained;
            result.ApplicationName    = ApplicationName;
            result.ApplicationVersion = ApplicationVersion;
            if (string.IsNullOrEmpty(PackageName))
            {
                result.PackageFileName = Path.Combine(PublishedOutput,
                                                      $"{result.ApplicationName}-{result.ApplicationVersion}");
            }
            else
            {
                result.PackageFileName = PackageName;
            }
            result.PathToFiles = PublishedOutput;

            return(result);
        }
Esempio n. 4
0
        private string CreateArchive(DeploymentMetadata metadata)
        {
            var filename = metadata.PackageFileName.Contains(".zip")
                ? metadata.PackageFileName
                : $"{metadata.PackageFileName}.zip";

            if (File.Exists(filename))
            {
                File.Delete(filename);
            }
            var tempFilename = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());

            try
            {
                ZipFile.CreateFromDirectory(metadata.PathToFiles, tempFilename);
                File.Copy(tempFilename, filename);
                return(filename);
            }
            finally
            {
                File.Delete(tempFilename);
            }
        }
Esempio n. 5
0
 public abstract void Deploy(DeploymentMetadata metadata);