예제 #1
0
        private async Task <Deployment> StartAsync(
            IEnvironment environment,
            IProgramRelease release,
            long creatorId)
        {
            Ensure.NotNull(environment, nameof(environment));

            var deployment = new Deployment(
                id: await db.Deployments.Sequence.NextAsync(),
                environmentId: environment.Id,
                release: release,
                creatorId: creatorId
                );

            await db.Deployments.InsertAsync(deployment);

            return(deployment);
        }
예제 #2
0
        public Deployment(
            long id,
            long environmentId,
            IProgramRelease release,
            long creatorId,
            DeploymentStatus status = DeploymentStatus.Pending,
            JsonObject properties   = null)
        {
            Ensure.IsValidId(id);
            Ensure.IsValidId(environmentId, nameof(environmentId));
            Ensure.NotNull(release, nameof(release));
            Ensure.IsValidId(creatorId, nameof(creatorId));

            Id             = id;
            Status         = status;
            EnvironmentId  = environmentId;
            ProgramId      = release.ProgramId;
            ProgramVersion = release.Version;
            CreatorId      = creatorId;
            Properties     = properties;
        }