in spec/factories/ci/deployable.rb [5:152]
def self.traits
<<-RUBY
trait :teardown_environment do
environment { 'staging' }
options do
{
script: %w(ls),
environment: { name: 'staging',
action: 'stop',
url: 'http://staging.example.com/$CI_JOB_NAME' }
}
end
end
trait :environment_with_deployment_tier do
environment { 'test_portal' }
options do
{
script: %w(ls),
environment: { name: 'test_portal',
action: 'start',
url: 'http://staging.example.com/$CI_JOB_NAME',
deployment_tier: 'testing' }
}
end
end
trait :deploy_to_production do
environment { 'production' }
options do
{
script: %w(ls),
environment: { name: 'production',
url: 'http://prd.example.com/$CI_JOB_NAME' }
}
end
end
trait :start_review_app do
environment { 'review/$CI_COMMIT_REF_NAME' }
options do
{
script: %w(ls),
environment: { name: 'review/$CI_COMMIT_REF_NAME',
url: 'http://staging.example.com/$CI_JOB_NAME',
on_stop: 'stop_review_app' }
}
end
end
trait :stop_review_app do
name { 'stop_review_app' }
environment { 'review/$CI_COMMIT_REF_NAME' }
options do
{
script: %w(ls),
environment: { name: 'review/$CI_COMMIT_REF_NAME',
url: 'http://staging.example.com/$CI_JOB_NAME',
action: 'stop' }
}
end
end
trait :prepare_staging do
name { 'prepare staging' }
environment { 'staging' }
options do
{
script: %w(ls),
environment: { name: 'staging', action: 'prepare' }
}
end
set_expanded_environment_name
end
trait :start_staging do
name { 'start staging' }
environment { 'staging' }
options do
{
script: %w(ls),
environment: { name: 'staging', action: 'start' }
}
end
set_expanded_environment_name
end
trait :stop_staging do
name { 'stop staging' }
environment { 'staging' }
options do
{
script: %w(ls),
environment: { name: 'staging', action: 'stop' }
}
end
set_expanded_environment_name
end
trait :set_expanded_environment_name do
after(:build) do |job, evaluator|
job.assign_attributes(
metadata_attributes: {
expanded_environment_name: job.expanded_environment_name
}
)
end
end
trait :deploy_job do
name { 'deploy job' }
environment { 'env' }
options do
{
script: %w(ls),
environment: { name: environment, action: 'start' }
}
end
set_expanded_environment_name
end
trait :with_deployment do
after(:build) do |job, evaluator|
Environments::CreateForJobService.new.execute(job)
end
after(:create) do |job, evaluator|
Deployments::CreateForJobService.new.execute(job)
end
end
RUBY
end