gitlab-org--gitlab-foss/app/models/project_auto_devops.rb

36 lines
875 B
Ruby
Raw Normal View History

class ProjectAutoDevops < ActiveRecord::Base
belongs_to :project
2017-09-04 13:44:46 +00:00
enum deploy_strategy: {
2018-06-06 16:58:26 +00:00
manual: 0,
continuous: 1
}
scope :enabled, -> { where(enabled: true) }
scope :disabled, -> { where(enabled: false) }
validates :domain, allow_blank: true, hostname: { allow_numeric_hostname: true }
2017-09-06 16:57:07 +00:00
def instance_domain
Gitlab::CurrentSettings.auto_devops_domain
end
def has_domain?
domain.present? || instance_domain.present?
end
2018-03-13 13:00:14 +00:00
def predefined_variables
Gitlab::Ci::Variables::Collection.new.tap do |variables|
if has_domain?
variables.append(key: 'AUTO_DEVOPS_DOMAIN',
value: domain.presence || instance_domain)
end
if manual?
variables.append(key: 'STAGING_ENABLED', value: 1)
variables.append(key: 'INCREMENTAL_ROLLOUT_ENABLED', value: 1)
end
2018-03-13 13:00:14 +00:00
end
2017-09-06 16:57:07 +00:00
end
end