Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
95f5aad5aa
commit
05d0c6959a
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Deprecation of ECS template
|
||||
merge_request: 36143
|
||||
author:
|
||||
type: deprecated
|
|
@ -81,11 +81,12 @@ path to point to your ECR image.
|
|||
|
||||
### Deploy your application to the AWS Elastic Container Service (ECS)
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/207962) in GitLab 12.9.
|
||||
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/207962) in GitLab 12.9.
|
||||
> - The `Deploy-ECS.gitlab-ci.yml` template was deprecated in favor of `AWS/Deploy-ECS.gitlab-ci.yml` template in GitLab 13.2.
|
||||
|
||||
GitLab provides a series of [CI templates that you can include in your project](../yaml/README.md#include).
|
||||
To automate deployments of your application to your [Amazon Elastic Container Service](https://aws.amazon.com/ecs/) (AWS ECS)
|
||||
cluster, you can `include` the `Deploy-ECS.gitlab-ci.yml` template in your `.gitlab-ci.yml` file.
|
||||
cluster, you can `include` the `AWS/Deploy-ECS.gitlab-ci.yml` template in your `.gitlab-ci.yml` file.
|
||||
|
||||
GitLab also provides [Docker images](https://gitlab.com/gitlab-org/cloud-deploy/-/tree/master/aws) that can be used in your `gitlab-ci.yml` file to simplify working with AWS:
|
||||
|
||||
|
@ -129,7 +130,7 @@ After you're all set up on AWS ECS, follow these steps:
|
|||
- template: AWS/Deploy-ECS.gitlab-ci.yml
|
||||
```
|
||||
|
||||
The `Deploy-ECS` template ships with GitLab and is available [on
|
||||
The `AWS/Deploy-ECS` template ships with GitLab and is available [on
|
||||
GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/AWS/Deploy-ECS.gitlab-ci.yml).
|
||||
|
||||
1. Commit and push your updated `.gitlab-ci.yml` to your project's repository, and you're done!
|
||||
|
@ -143,17 +144,17 @@ After you're all set up on AWS ECS, follow these steps:
|
|||
application.
|
||||
|
||||
CAUTION: **Warning:**
|
||||
The [`Deploy-ECS.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/AWS/Deploy-ECS.gitlab-ci.yml)
|
||||
The [`AWS/Deploy-ECS.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/AWS/Deploy-ECS.gitlab-ci.yml)
|
||||
template includes both the [`Jobs/Build.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Build.gitlab-ci.yml)
|
||||
and [`Jobs/Deploy/ECS.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Deploy/ECS.gitlab-ci.yml)
|
||||
"sub-templates". Do not include these "sub-templates" on their own, and only include the main
|
||||
`Deploy-ECS.gitlab-ci.yml` template. The "sub-templates" are designed to only be
|
||||
`AWS/Deploy-ECS.gitlab-ci.yml` template. The "sub-templates" are designed to only be
|
||||
used along with the main template. They may move or change unexpectedly causing your
|
||||
pipeline to fail if you didn't include the main template. Also, the job names within
|
||||
these templates may change. Do not override these jobs names in your own pipeline,
|
||||
as the override will stop working when the name changes.
|
||||
|
||||
Alternatively, if you don't wish to use the `Deploy-ECS.gitlab-ci.yml` template
|
||||
Alternatively, if you don't wish to use the `AWS/Deploy-ECS.gitlab-ci.yml` template
|
||||
to deploy to AWS ECS, you can always use our
|
||||
`aws-base` Docker image to run your own [AWS CLI commands for ECS](https://docs.aws.amazon.com/cli/latest/reference/ecs/index.html#cli-aws-ecs).
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# This template is deprecated and will be removed as part of GitLab 13.2!
|
||||
# This template is deprecated.
|
||||
#
|
||||
# If you have referenced this template in your CI pipeline, please
|
||||
# update your CI configuration by replacing the following occurrence(s):
|
||||
|
@ -20,12 +20,8 @@ stages:
|
|||
- deploy
|
||||
- production
|
||||
|
||||
before_script:
|
||||
- printf '\nWARNING!\nThis job includes "Deploy-ECS.gitlab-ci.yml". Please rename this to "AWS/Deploy-ECS.gitlab-ci.yml".\n'
|
||||
|
||||
variables:
|
||||
AUTO_DEVOPS_PLATFORM_TARGET: ECS
|
||||
|
||||
include:
|
||||
- template: Jobs/Build.gitlab-ci.yml
|
||||
- template: Jobs/Deploy/ECS.gitlab-ci.yml
|
||||
"error: Template has moved":
|
||||
stage: deploy
|
||||
script:
|
||||
- echo "Deploy-ECS.gitlab-ci.yml has been moved to AWS/Deploy-ECS.gitlab-ci.yml, see https://docs.gitlab.com/ee/ci/cloud_deployment/#deploy-your-application-to-the-aws-elastic-container-service-ecs for more details."
|
||||
- exit 1
|
||||
|
|
|
@ -16,6 +16,7 @@ gem 'faker', '~> 1.6', '>= 1.6.6'
|
|||
gem 'knapsack', '~> 1.17'
|
||||
gem 'parallel_tests', '~> 2.29'
|
||||
gem 'rotp', '~> 3.1.0'
|
||||
gem 'rspec-parameterized', '~> 0.4.2'
|
||||
|
||||
group :test do
|
||||
gem 'pry-byebug', '~> 3.5.1', platform: :mri
|
||||
|
|
119
qa/Gemfile.lock
119
qa/Gemfile.lock
|
@ -1,12 +1,16 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (6.0.3.1)
|
||||
abstract_type (0.0.7)
|
||||
activesupport (6.0.3.2)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 0.7, < 2)
|
||||
minitest (~> 5.1)
|
||||
tzinfo (~> 1.1)
|
||||
zeitwerk (~> 2.2, >= 2.2.2)
|
||||
adamantium (0.2.0)
|
||||
ice_nine (~> 0.11.0)
|
||||
memoizable (~> 0.4.0)
|
||||
addressable (2.7.0)
|
||||
public_suffix (>= 2.0.2, < 5.0)
|
||||
airborne (0.3.4)
|
||||
|
@ -15,6 +19,8 @@ GEM
|
|||
rack-test (>= 1.1.0, < 2.0)
|
||||
rest-client (>= 2.0.2, < 3.0)
|
||||
rspec (~> 3.8)
|
||||
ast (2.4.1)
|
||||
binding_ninja (0.2.3)
|
||||
byebug (9.1.0)
|
||||
capybara (3.29.0)
|
||||
addressable
|
||||
|
@ -24,55 +30,93 @@ GEM
|
|||
rack-test (>= 0.6.3)
|
||||
regexp_parser (~> 1.5)
|
||||
xpath (~> 3.2)
|
||||
capybara-screenshot (1.0.23)
|
||||
capybara-screenshot (1.0.24)
|
||||
capybara (>= 1.0, < 4)
|
||||
launchy
|
||||
childprocess (3.0.0)
|
||||
coderay (1.1.2)
|
||||
coderay (1.1.3)
|
||||
concord (0.1.5)
|
||||
adamantium (~> 0.2.0)
|
||||
equalizer (~> 0.0.9)
|
||||
concurrent-ruby (1.1.6)
|
||||
debase (0.2.4.1)
|
||||
debase-ruby_core_source (>= 0.10.2)
|
||||
debase-ruby_core_source (0.10.6)
|
||||
diff-lcs (1.3)
|
||||
debase-ruby_core_source (0.10.9)
|
||||
diff-lcs (1.4.4)
|
||||
domain_name (0.5.20190701)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
faker (1.9.3)
|
||||
equalizer (0.0.11)
|
||||
faker (1.9.6)
|
||||
i18n (>= 0.7)
|
||||
gitlab-qa (4.0.0)
|
||||
ffi (1.13.1)
|
||||
ffi-compiler (1.0.1)
|
||||
ffi (>= 1.0.0)
|
||||
rake
|
||||
gitlab (4.11.0)
|
||||
httparty (~> 0.14, >= 0.14.0)
|
||||
terminal-table (~> 1.5, >= 1.5.1)
|
||||
gitlab-qa (5.15.0)
|
||||
activesupport (~> 6.0.2)
|
||||
gitlab (~> 4.11.0)
|
||||
http (= 4.3.0)
|
||||
nokogiri (~> 1.10)
|
||||
table_print (= 1.5.6)
|
||||
http (4.3.0)
|
||||
addressable (~> 2.3)
|
||||
http-cookie (~> 1.0)
|
||||
http-form_data (~> 2.2)
|
||||
http-parser (~> 1.2.0)
|
||||
http-accept (1.7.0)
|
||||
http-cookie (1.0.3)
|
||||
domain_name (~> 0.5)
|
||||
i18n (1.8.2)
|
||||
http-form_data (2.3.0)
|
||||
http-parser (1.2.1)
|
||||
ffi-compiler (>= 1.0, < 2.0)
|
||||
httparty (0.18.1)
|
||||
mime-types (~> 3.0)
|
||||
multi_xml (>= 0.5.2)
|
||||
i18n (1.8.3)
|
||||
concurrent-ruby (~> 1.0)
|
||||
knapsack (1.17.1)
|
||||
ice_nine (0.11.2)
|
||||
knapsack (1.18.0)
|
||||
rake
|
||||
launchy (2.4.3)
|
||||
addressable (~> 2.3)
|
||||
method_source (0.9.0)
|
||||
launchy (2.5.0)
|
||||
addressable (~> 2.7)
|
||||
memoizable (0.4.2)
|
||||
thread_safe (~> 0.3, >= 0.3.1)
|
||||
method_source (1.0.0)
|
||||
mime-types (3.3.1)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2020.0425)
|
||||
mime-types-data (3.2020.0512)
|
||||
mini_mime (1.0.2)
|
||||
mini_portile2 (2.4.0)
|
||||
minitest (5.14.1)
|
||||
multi_xml (0.6.0)
|
||||
netrc (0.11.0)
|
||||
nokogiri (1.10.9)
|
||||
nokogiri (1.10.10)
|
||||
mini_portile2 (~> 2.4.0)
|
||||
parallel (1.17.0)
|
||||
parallel_tests (2.29.0)
|
||||
parallel (1.19.2)
|
||||
parallel_tests (2.32.0)
|
||||
parallel
|
||||
pry (0.11.3)
|
||||
coderay (~> 1.1.0)
|
||||
method_source (~> 0.9.0)
|
||||
parser (2.7.1.4)
|
||||
ast (~> 2.4.1)
|
||||
proc_to_ast (0.1.0)
|
||||
coderay
|
||||
parser
|
||||
unparser
|
||||
procto (0.0.3)
|
||||
pry (0.13.1)
|
||||
coderay (~> 1.1)
|
||||
method_source (~> 1.0)
|
||||
pry-byebug (3.5.1)
|
||||
byebug (~> 9.1)
|
||||
pry (~> 0.10)
|
||||
public_suffix (4.0.1)
|
||||
rack (2.2.2)
|
||||
public_suffix (4.0.5)
|
||||
rack (2.2.3)
|
||||
rack-test (1.1.0)
|
||||
rack (>= 1.0, < 3)
|
||||
rake (12.3.0)
|
||||
regexp_parser (1.6.0)
|
||||
rake (12.3.3)
|
||||
regexp_parser (1.7.1)
|
||||
rest-client (2.1.0)
|
||||
http-accept (>= 1.7.0, < 2.0)
|
||||
http-cookie (>= 1.0.2, < 2.0)
|
||||
|
@ -85,23 +129,32 @@ GEM
|
|||
rspec-mocks (~> 3.9.0)
|
||||
rspec-core (3.9.2)
|
||||
rspec-support (~> 3.9.3)
|
||||
rspec-expectations (3.9.1)
|
||||
rspec-expectations (3.9.2)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.9.0)
|
||||
rspec-mocks (3.9.1)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.9.0)
|
||||
rspec-retry (0.6.1)
|
||||
rspec-parameterized (0.4.2)
|
||||
binding_ninja (>= 0.2.3)
|
||||
parser
|
||||
proc_to_ast
|
||||
rspec (>= 2.13, < 4)
|
||||
unparser
|
||||
rspec-retry (0.6.2)
|
||||
rspec-core (> 3.3)
|
||||
rspec-support (3.9.3)
|
||||
rspec_junit_formatter (0.4.1)
|
||||
rspec-core (>= 2, < 4, != 2.12.0)
|
||||
ruby-debug-ide (0.7.2)
|
||||
rake (>= 0.8.1)
|
||||
rubyzip (1.3.0)
|
||||
selenium-webdriver (3.142.6)
|
||||
rubyzip (2.3.0)
|
||||
selenium-webdriver (3.142.7)
|
||||
childprocess (>= 0.5, < 4.0)
|
||||
rubyzip (>= 1.2.2)
|
||||
table_print (1.5.6)
|
||||
terminal-table (1.8.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
thread_safe (0.3.6)
|
||||
timecop (0.9.1)
|
||||
tzinfo (1.2.7)
|
||||
|
@ -109,9 +162,18 @@ GEM
|
|||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.7.7)
|
||||
unicode-display_width (1.7.0)
|
||||
unparser (0.4.7)
|
||||
abstract_type (~> 0.0.7)
|
||||
adamantium (~> 0.2.0)
|
||||
concord (~> 0.1.5)
|
||||
diff-lcs (~> 1.3)
|
||||
equalizer (~> 0.0.9)
|
||||
parser (>= 2.6.5)
|
||||
procto (~> 0.0.2)
|
||||
xpath (3.2.0)
|
||||
nokogiri (~> 1.8)
|
||||
zeitwerk (2.3.0)
|
||||
zeitwerk (2.3.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
@ -132,6 +194,7 @@ DEPENDENCIES
|
|||
rest-client (~> 2.1.0)
|
||||
rotp (~> 3.1.0)
|
||||
rspec (~> 3.7)
|
||||
rspec-parameterized (~> 0.4.2)
|
||||
rspec-retry (~> 0.6.1)
|
||||
rspec_junit_formatter (~> 0.4.1)
|
||||
ruby-debug-ide (~> 0.7.0)
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module QA
|
||||
RSpec.describe 'Configure' do
|
||||
describe 'AutoDevOps Templates', only: { subdomain: :staging } do
|
||||
let(:optional_jobs) do
|
||||
%w[
|
||||
LICENSE_MANAGEMENT_DISABLED
|
||||
SAST_DISABLED DAST_DISABLED
|
||||
DEPENDENCY_SCANNING_DISABLED
|
||||
CONTAINER_SCANNING_DISABLED
|
||||
]
|
||||
end
|
||||
|
||||
where(:template) do
|
||||
%w[rails spring express]
|
||||
end
|
||||
|
||||
with_them do
|
||||
let(:project) do
|
||||
Resource::Project.fabricate_via_api! do |project|
|
||||
project.name = "#{template}-autodevops-project-template"
|
||||
project.template_name = template
|
||||
project.description = "Let's see if the #{template} project works..."
|
||||
project.auto_devops_enabled = true
|
||||
end
|
||||
end
|
||||
|
||||
let(:pipeline) do
|
||||
Resource::Pipeline.fabricate_via_api! do |pipeline|
|
||||
pipeline.project = project
|
||||
pipeline.variables =
|
||||
optional_jobs.map do |job|
|
||||
{ key: job, value: '1', variable_type: 'env_var' }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
before do
|
||||
Flow::Login.sign_in
|
||||
end
|
||||
|
||||
it 'works with Auto DevOps' do
|
||||
%w[build test].each do |job|
|
||||
pipeline.visit!
|
||||
|
||||
Page::Project::Pipeline::Show.perform do |show_page|
|
||||
show_page.click_job(job)
|
||||
end
|
||||
|
||||
Page::Project::Job::Show.perform do |show|
|
||||
expect(show).to have_passed(timeout: 360)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
require_relative '../qa'
|
||||
require 'rspec/retry'
|
||||
require 'rspec-parameterized'
|
||||
|
||||
if ENV['CI'] && QA::Runtime::Env.knapsack? && !ENV['NO_KNAPSACK']
|
||||
require 'knapsack'
|
||||
|
|
Loading…
Reference in New Issue