►
From YouTube: Support `environment` keyword with `trigger` keyword (Parent-child/Multi-project pipelines)
Description
In this video, Shinya (Staff Backend Engineer, Environments group) demonstrates the PoC of the epic https://gitlab.com/groups/gitlab-org/-/epics/8483.
PoC MR: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124562
0:00 Intro
0:53 Why this feature is important
5:23 Demo
A
A
Deploy
deploy,
job,
there's
a
trigger
queue,
it
is
defined
to
trigger
Downstream
pipeline
and
then
Define
also
define
environment
cured,
to
specify
that
which
environment
is
a
downswing
pipeline
going
to
deploy.
Currently
this
is
impossible
to
do
that,
but
this
epic
is
to
enable
the
future
enable
the
future,
but
before
diving
into
demonstration.
I
would
like
to
briefly
explain
why
this
feature
is
important
so
that
you
can
see
a
bunch
of
feedback
in
this
epic.
A
That,
especially
this
feature,
is
important
for
large
organizations
that
prefer
separate
responsibilities
between
developers
and
operators.
A
So,
for
example,
here's
a
project
application
project
that
where
developers
are
building
coding
and
application,
so,
for
example,
developer,
creates
a
major
request
and
they're
running
a
test
on
the
building
image
and
they're,
pushing
the
docker
image
to
continue
registry
and
did
they
start
environment
it
could
be
review
environment
or
staging
production,
but
open
additional
one
to
trigger
Downstream
pipeline.
A
In
this
case,
instead
of
letting
developers
to
fully
build
the
instruction
infrastructure,
there
may
be
some
compliance
that
organization
prefer,
for
example,
they
prefer
a
specific
Cloud,
AWS
or
gcp,
or
maybe
there
are
other
license
requirement
or
observable
abilities,
Tech
stack
or
something
like
that.
So
basically
they
want
to
regulate
this
infrastruct
infrastructure
stack
in
a
single
project.
So
here's
a
the
other
project.
A
This
is
a
deploy
deployment
project,
that's
basically
responsible
to
deploy
the
application
project,
so
this
diploma
project
pulling
the
container
image
from
application,
application
repository
and
then
doing
a
bunch
of
a
bunch
of
other
processes
for
some
help
me
installs.
A
If
they
depend
on
Helm
or
it
could
be
like
CTL
or
gcp
command,
DCP,
CLI
aww,
so
whatever
it
is,
there
are
some
toolings
exist
in
this
project
to
to
provisioning
the
new
environment
and
then
at
the
last.
The
result
is
feedback
to
this
deployment
development
project,
so
that
developers
can
actually
access
to
the
environment
without
knowing
underlining
infrastructure
tool
links,
and
then
this
is
actually
what
do
we
are.
What
gilab
is
interested
in?
Currently
this
is
a
architecture
diagram
for
Runway.
A
So
this
is
run.
This
Runway
is
a
project
to
they
basically
construct
the
environment
for
developers,
so
this
service
project
is,
let's
considered
as
a
application
project
the
developers
working
on
it,
building
a
Docker
image,
something
like
that
and
it
just
triggers
Downstream
pipeline
in
deployment
projects
so
that
it's
executing
a
bunch
of
tools
to
actually
making
it
happen,
including
observabilities.
A
This
actually
Architects.
This
architecture
could
actually
vary
per
Organization,
for
example.
These
are
another
article
about
the
atlasian
how
the
approach
assertion
has
an
internal
platform
as
a
service
that
vehicle
micros
Etc
to
service
certain
environments
that
enable
attraction
Engineers
to
deploy
and
operate
services
in
AWS
as
quickly
easily
and
safely
as
possible.
So
this
is
a
keyword
that
internal
platform
as
a
service.
A
Yes,
this
is
a
actually
in
the
goal
of
this
epic,
but
this
epic
is
specifically
targeting
this
connection,
service
project
and
application
project
and
deployment
project.
So
without
the
further
Ado
I'm
going
to
demonstrate.
A
There
are
two
stages:
deploy
and
Cleanup
in
this
demo
I'm
going
to
demonstrate
how
to
deploy
a
rugby
environment,
but
the
same
thing
same
practice
can
be
used
for
production
or
staging,
and
here's
a
diploma,
this
extensor
some
configurations
for
Downstream
pipelines.
A
First
of
all,
this
is
the
most
important
word
that
triggers
Downstream
pipeline
in
the
downstream
project
is
let's
consider
this
is
a
deployment
project
and
then
there's
a
bunch
of
options,
Branch
strategy
and
the
variables
it's
important
that
giving
a
context
of
Upstream
project
to
Downstream
project
so
that
the
deployment
project
knows
which
environment
they
should
deploy
to
or
which
project
requested
the
deployment.
A
And
then
this
typical
review
job
has
an
environment
keyword.
This
is
the
currently
what's
currently
impossible,
but
what
are
we
going
to
support?
So
name
is
a
environment
name
review.
Slash
could
be
future
Branch
name
so
like
a
review,
slash
or
some
future
or
a
bug
fix,
or
something
like
that.
A
I'm
going
to
add
a
new
feature
and
then
commit
to
New,
Branch
or
some
future
one
and
then
create
a
modular
cast.
A
Okay,
awesome
future
some
future
one.
A
And
it
is
already
created
pipeline.
So
let's
take
a
look
at
the
pipeline.
This
deployed
Refuge
off
trigger
Downstream
Pipeline
and
which
contains
problem
job.
A
It's
currently
the
inside
there's
nothing
but
the
yeah
I'm
going
to
walk
you
through
shortly
so
yeah.
It's
successfully
executed
the
downstream
pipeline
in
the
context
of
review
this
specific
review,
app
review,
app
environment.
A
Downstream
project:
here's
a
giveaway,
CMO
computation.
This
programming
job
is
executed
when
Upstream
environment
action-
equal
is
a
start.
This
variable
was
a
passer
from
the
Upstream
variable
as
a
context
and
also
it's
executed.
This
condition
is
allowed
to
execute
this
job
only
when
in
multi-project
Pipelines
and
then
there
are
a
bunch
of
scripts.
A
A
This
job
block
that
the
Upstream
context
is
correctly
passed
to
the
downswing
and
also
it's
impossible
to
execute
API
for
the
Upstream
environment,
so
that
the
downstream
project
can
update
the
environment
properties.
For
example,
dynamically
generated
URL
can
be
said
after
a
job
is
done,
authentication
can
be
used
here,
so
this
is
great
and
then
let's
say
this
modular
case
is
marched.
A
A
Yeah
at
a
similarly
that
context
is
passed
to
the
downstream
pipeline
so
that
the
yeah
the
project
can
actually
release
that
resource
at
the
last.
Let
me
walk
you
through
this
environment.
Page
environment
page
works.
Similarly,
it's
a
current
with
a
current
feature
set.
A
For
example,
we
see
in
production
environment
that
there
are
a
bunch
of
deployments
and
succeeded.
This
all
executed
the
downstream
pipeline,
so
users
can
jump
to
the
specific
diplomatic
Pipeline
and
also
the
rollerbock
is
possible
which
execute
the
downstairs
Pipeline
with
the
previous
Shaw.
A
A
If
this
is
future
your
expecting
or
like
something
different
yeah,
please
leave
a
comment
in
the
Epic
and
yeah.
That's
all
thanks.
Bye.