►
Description
Related to https://gitlab.com/gitlab-org/gitlab/-/issues/389857
B
Right:
okay,
so
I
I.
How
far
did
you
get
when
you
had
a
look
through
what
I
had.
A
I
checked
out
the
ciao,
the
Diplo
manufact
part,
the
agents
that
was
it
basically
I,
checked
out
the
the
review
app
Branch
as
well
that
there
was
nothing
particular
there
that
I
could
find
it.
B
Was
yesterday
morning,
oh
okay
yeah,
so
they
would
have
not
been
merged,
yet
all
right,
well,
I'll,
go
over
it
quickly.
Just
while
I've
got
you
to
make
sure,
we've
got
the
same
idea,
yeah
with
three
clusters
and
three
agents,
one
for
each
of
it's
just
split
it
up
for
production
review
and
staging
there's
nothing
special
about
these,
except
that
they
each
have
a
dedicated
branch
that
each
agent
looks
at.
They
look
at
and
there's.
This
is
just
like
pure
manifest.
There's
nothing
fancy
going
on
here!
B
And
yeah
and
that
doesn't
really
work
that
well
with
basic
manifests,
but
you
could
hopefully
imagine
if
you
were
using,
you
know
Helm
or
something
a
bit
more
powerful
here.
It
would
start
to
pay
off
a
little
bit.
It's
kind
of
a
pain,
especially
for
review
apps,
which
we'll
get
to,
but
everything
else
kind
of
works
quite
well,
so
this
Branch
thing
I,
actually
quite
like
and
I,
will
show
you.
B
Why
is
because
we
have
predicted
branches
for
each
of
these,
and
the
only
thing
that
can
push
to
them
is
a
dedicated
token
for
that
branch.
So
no
one
can
miss.
No
one
can
mess
with
what
is
on
this
Branch.
You
could
configure
this
yourself.
I've
used
project
tokens,
but
you
could
also
use
deploy
keys.
B
They
have
to
write
to
the
branch
yeah,
but
so
you
could
do
either
or
a
bot
user
or
you
could
do
it
manually
if
you
really
wanted,
because
then
you
could
create
merger
quiz,
but
we'll
talk
about
that
a
bit
later
yeah.
So
these
are
just
branches
setup
projected
there's
tokens.
Each
token
is
in
also
exposed
as
a.
A
B
Yeah,
so
I
will
I'll
go
back
to
that
then.
So
now
we've
got
these
three
agents
looking
at
their
three
branches.
This
will
have
a
bit
more
in
it.
Since
last
time
you
looked,
but
basically
what
happens
is
and
this
this
Project's
a
bit
odd
as
well,
because
it
runs
builds
and
tests
and
then
updates
manifest.
B
So
there's
kind
of
two
separate
pipelines
that'll
be
going
on
here
and
that's
why
we
have
these
things
like
if
you've
changed
app
files,
build
images
if
you
haven't
deployment
manifest,
but
again
that's
all
right,
but
yeah
so
ignore
the
review
stuff.
B
A
B
So
all
that
I
mean
all
it
does
is
pull
the
deployment
branch
in
this
case
is
those
particular
branches
mergers
only
fast
forward,
so
you
might
get
merge,
commits
or
anything
like
that
very
brittle,
we'll
come
back
to
that
as
well,
and
push
us
to
the
branch
head
of
the
branch
and
the
agent's
going
to
pick
that
up
and
deploy
it,
and
it's
that
it's
I
mean
it's
that
simple.
This
could
be
done
by
a
Verge
request.
B
If
you
wanted
to
have
approvals
code
owner
stuff,
you
know
all
that
sort
of
thing.
So
this
this
merge
really
doesn't
have
to
happen
in
good
website
CI
at
all.
You
could
have
it
just
in
a
traditional
measurequist
with
all
your
nice
rules
and
everything
like
that,
and
that
way
you
can
use
all
the
pile
of
other
features.
We
have
around
making
sure
merge,
requests
are
approved.
A
Okay
and
if
okay,
just
so
that
I
understand
it
correctly
so
right
now,
when
you
set
up
the
protected
branches
with
the
project,
access
tokens
or
so
obviously
token
users.
Basically,
this
is
because
you
merge
and
push
from
the
ti.
But
if
you
would
do
it
from
the
merge
request,
then
you
would
set
up
those
protected
branches
for
the
users
who
are
allowed
to
merge.
B
Yeah
then
you'd
go,
you
need,
you
know,
minimum
two
approvals
and
all
the
kind
of
yeah.
A
B
That
you
can
put
on
top
of
those
yeah.
Okay
you'd
still
have
them
protected,
so
that
nothing.
A
But
you
would,
it
would
merge
from
from
the
request
and
not
natural
yeah
makes
sense.
A
What
I'm
just
looking
at
is
that
are
you
are
constantly
working
in
your
roots,
repo
in
the
in
the
in
the
root
of
the
current
checkout,
and
you
check
you
check
out,
oh
okay,
because
you
check
out
the
deployment.
Okay,
sorry,
no,
nothing,
nothing!
Okay,
everything,
okay,
I
got
it!
Okay,
yeah.
B
It's
it's
a
bit.
It's
a
bit
backwards
to
get
your
head
around
you're,
not
using
so
you're
checking
out
the
branch
yeah.
A
A
B
B
A
B
Review
episode
where
it
gets
a
bit
crazy
because
there's
just
one
review
cluster
one
review
agent
looking
at
one
review
path
like
Branch
riff,
so
that's
where
we
kind
of
that's
where
it
gets
a
bit
a
bit
silly
so
again
ignore
other
qttl,
stuff
I'm,
just
creating
beer
resources
here
to
deploy
something
yeah.
B
But
again,
so
we
pull
the
review
branch,
add
some
stuff
to
it
in
a
directory,
so
we've
created
a
directory
for
this
reviewer.
Add
some
stuff
commit
it
push
it
and
that's
gets
picked
up
by
the
agent.
A
B
That
will
be
well
we'll
have
a
look
yeah
once
this
deploys.
What
shouldn't.
B
B
So
this
is
super
fast,
which
is
kind
of
cool.
But
if
we
go
to
branches.
B
We
can
see
that
bot
user
or
test
user
has
just
yeah
added
this
commit,
which
is
those
benefits
that
I
just
created
from
nothing
in
the
CI
job,
yeah
yep.
B
So
that
will
eventually
that
will
stand
up
an
environment.
It
actually
takes
a
while
because
it
will
provision
and
Ingress
and
everything
and
I
won't
change
to
that
term,
because
it's
been
recorded,
but
that
will
stand
up
if
I
go
to
environments
that
has
been
deployed
to
and
assuming
that
everything
goes
goes
well
have.
I
got
my
measure
quiz,
though.
B
B
And
we
do
that
with
resource
groups,
CI
resource
groups-
so
that's,
okay
and
assuming
that
the
directory
is
unique,
it
kind
of
just
works
so.
A
B
A
And
and
okay
and
next
question
we're
discuing,
is
and
feel
free
to
say
you
have.
No
idea
is
that
we
create
environment,
one
review
environment,
one
the
resource
Group
is
taken,
there's
a
an
unstarted
manual
job
to
stop
that
environment.
When
we
create
a
new
environment,
is
it
that
would
they
conflict
or
not?.
A
B
But
they
check
out
the
head
of
the
branch
each
time.
So
when
it
starts
it
will
whatever's
just
happened
and
then
edits
commit
and
then,
as
soon
as
it's
unlocked
well.
B
So
they're
always
they're
always
acting
on
the
most
recent
version
of
the
branch
so
yeah,
so
that
it
does
well,
it
should
work
I,
don't
know
when
you
end
up
with
you
know:
50
review
apps.
Maybe
you
run
into
problems
I'm,
not
sure,
but
let's
move
to
this.
A
B
This
point
they
review
it
yeah
and
that's
kind
of
tricky,
because
it's
not
in
Maine
the
cool
thing
about
everything
else
is
that
everything
is
in
Maine
and
you
just
have
to
look
at
where
branches
are
compared
to
main.
But
rubyopes
is
not
so
you
have
to
check
the
review
Branch,
but
that's
okay.
It's
still
stores
somewhere.
A
B
That's
okay,
and
so
this
has
I've
merged
this
and
there
was
no
manifest
changes.
So
this
is
just
going
to
build
an
image.
One.
A
Question
one
question
there
is
that
why
did
you
call
the
stop
environment
job
separately?
Like
did
you
set
up
CI
to
call
this
type
of
environment
job
when
you
merge
or
whatever.
B
I
didn't
I
didn't,
but
you
can
you're
free
to
because
again
you're
changing
branch
and
pushing
to
a
different
branch.
I
haven't
set
up
version,
Quest
pipelines
and
that's
what
you
need
to
Auto
Stop,
the
environment
I
think
so.
Yes,
that
should
I,
don't
see
any
reason
why
it
wouldn't
work,
but
I
just
haven't
done
it.
Okay,
we
can
probably
add
that
should
be
fine.
This
is
going
to
build
an
image
and
tests,
and
so
now
we
can
take
the
image.
B
I
just
say:
staging
I'm
committing
this
domain.
Usually
you
wouldn't
well.
You
might
go
through
another
merge
request
to
approve
these
changes
before
they
go
and
now
the
pipeline
instead
of
doing
anything
with
building
and
testing,
has
staging
and
production
jobs.
B
B
Yeah,
so
you
wouldn't
just
have
a
deployment
manifest
sitting
there
that
should
get
picked
up
by
staging
almost
immediately
if
I
go
to
not
branches.
B
So
this
again
would
have
no
effect
because
I
didn't
change
the
right
thing:
yeah
yeah,
you
can
manual
manual
job
production
and
there
we
go.
B
So
that
is
that's
all
happened,
yeah,
so
the
deployment.
So
all
the
stuff
is
hooked
up,
but
yeah
it's
a
bit
out
of
sync,
because
this
says
it's
deployed
when
the
push
happens
not
or
when
the
job
read
not
when
the
agent
actually
picked
it
up.
But
it's
probably
close
enough.
It's
close.
It's
close
enough
to
to
work
out
what's
happened,
but
now
you
can
look
at
what's
deployed
and
it'll
just
kind
of
yeah
that
works
like
that.
Yeah.
A
Cool
I
will
try
to
get
you
confused
a
little
bit
with
one
topic,
but
there
are
another
one
that
shouldn't
confuse.
B
A
Sorry
I'm
back
so
I
will
try
to
because
usually
the
second
topic,
the
first
one
I
took
a
few
notes
Here
in
our
doc.
You
can
see
that
that
one
is
that,
let's
add
this
top
environment
when
merging
I,
think
that
that
would
be
something
that
we
we
need
for
really
showing
it's
to
to
our
users.
B
Yeah
I
believe
that
would
just
be
ticking
the
checkbox
and
it
should
just
work,
but
I
can
yeah
I'll
test
it
out.
B
Yeah
I've
got
here's
the
stop,
so
you
well.
B
We
can
see
from
we
can
see
from
the
previous
screen
like
the
environment
screen
that
did
have
the
environment
did
get
stopped.
That's
now,
yeah.
B
A
Okay,
yeah
the
there's
also
where
the
environment
on
stop
saying
that,
like
you
might
have
it
already.
A
No
I
I
think
it's
it's
it's
not
there,
but
yeah
there:
okay,
okay,
yeah,
cool,
okay,
that
that
was
the
the
minor
note.
The
first
question
would
be
that
could
be
automate.
B
A
B
A
B
A
But
but
what
I
mean
is
that
that
that's
that
that's
that's
a
little
bit
missing
to
me
there
that
I
have
the
review
up.
It
uses
image,
X
and,
of
course,
injury
in
the
merging
Quest,
I
kind
of
have
it's
saying
that
use
image,
exports,
paging
and
production
as
well,
and
once
it
gets
merged.
That
might
be
the
way
to
do
it
actually.
A
B
B
So
I
it
did
think
about
this
and
it
kind
of
you
kind
of
end
up
in
a
bit
of
a
chicken
and
egg
scenario
when
you've
got
the
same
repo
making
the
code
changes
as
updating
the
Manifest,
because
if
you
automatically,
if
you're
automatically
pushing
then
you'd
be
like
creating
pipelines
for
yourself
yeah,
we
could
probably
think
about
a
bit
further.
But
I
didn't
I
didn't
come
up
with
a
nice
way.
Yet.
A
That
was
my
understanding
as
well.
I
was
thinking
about
it
a
little
bit
yesterday
that
that
using
the
same
repo,
for
as
you
said,
code
changes
and
manifest
changes
doesn't
seem
to
be
a
good
idea.
B
It's
it's.
It
is
a
bit
strange
and
that's
why
we've
got
most
kind
of
two
separate
pipelines
within
the
pipeline
where
you've
got
one
if
you've
made
changes
and
one
if
you've
made
manifest
changes.
So
it
does
technically
work,
but
yeah
I
think
it
will
be
a
lot
a
lot
better.
When
yeah.
A
Yeah
I
think
she
just
had
just
to
use
separate
project
and
then
have
a
small
CI
snippet
how
to
how
to
start
on
a
tank
beat,
for
example,
the
new
the
the
deployment
pipeline
as
a
site,
Pipeline
and
then
yeah.
Okay,.
A
B
Yeah,
once
you
have
different
projects,
it
becomes
a
lot
easier
to
do
stuff
like
that,
where
you're
pushing
to
the
same
branch
that
you're
just
changing
and
like
it
gets
yeah
gets
a
bit
confusing.
So
it
would
be
much
easier
if
I
get
a
bit
more
a
bit.
You
know
more
straightforward.
Have
you
had
a
separate
project
and
separate
projects?
That's
where
it
will
kind
of
actually
work?
If
you
hit
multiple.
A
Yeah
perfect,
perfect
I,
like
it
yeah,
and
actually
you
answered
the
part
where
that
I
found
confusing
as
well
so
well
done.
I,
don't.
A
Anything
because
that
was
that
was
how
I
think
about.
Is
that
like,
like
that,
basically
tagging
should
work
in
the
application
project
yeah.
They
said,
okay,
build
a
new
tagged
image
and
then
move
it
out
to
staging
and
production
and
so
on,
and
when
it's
not
a
tagged
one,
then
it
might
still
go
to
review
environment,
but
it
shouldn't
go
up
to.
B
Yeah
the
cool
thing
about
this
as
well,
since
these
are
just
branches
I
can
just
oh,
they
both
got
pushed
there's
a
you,
can
just
compare
branches
as
branches
or
create
merge
requests
to
do
all
this.
All
these
nice
kind
of
UI
things
that
we've
been
pretty
good
at
for
a
while
I
just
work
on
branches,
which
is
nice.
A
Cool
nice,
okay,
this
is
this-
is
just
cool.
A
I
think
we
have
I
I,
think
what
we,
okay
is
great.
What
I
was
thinking
about
is
that
when
we
ride
the
docs,
we
should
we,
as
we
are
at
the
end
of
the
Milestone
I,
would
suggest
to
have
it
as
beta
there's.
A
But
publish
it
and
I
will
try
to
get
feedback
from
intra
from
solution.
Architects
technical
account,
managers
to
people
who
are
on
the
field
like
what
do
they
think
about
this
setup
and
whether
we
can
remove
the
beta
flag
and
I
think
you
should
just
focus
primarily
on
on
kind
of
polishing
what
you
have
and
and
writing
the
the
description
yeah
like
a
little
bit
but
followingly
or
or
besides
that,
if
you
have
capacity,
I
would
like
to
ask
you
to
think
about.
Where
could
this
fail
kind
of
like
a
pre-mortem
style,
I.
A
A
Okay,
yeah
and
if
you
use,
if
we
don't
do
it
so
the
thing
is
I
I'm,
not
using
it
on
a
daily
basis.
For
many
years
now,
and
and
like
can
you
tell
me,
why
is
it
Britain
like
when
would
it
fail.
B
Well,
if
I
mean,
if,
if
something
changes,
if
something
gets
out
of
sync
and
the
branch
has
changed
by
something
and
causes,
and
so
that
would
ask
for
a
merge
commit
like
if,
for
example,
if
you
wanted
a
Hot
Patch
production
and
you
merge
something
into
the
production
Branch
or
into
the
staging
branch,
and
then
something
else
comes
in
from
Maine,
it's
going
to
try
and
create
a
merge
commit
which
is
okay,
but
the
idea
is
that
you
want
everything
in
Maine
to
be
like.
B
You
want
staging
and
production
branches
to
be
a
subset
of
what's
in
Maine,
you
don't
want
to
have
to,
but
you
need
it.
You'd
need
a
process
around
going.
Okay,
we
need
to
put.
We
need
to
fix
staging
so
we'll
merge
something
into
staging
that
needs
to
go
back
into
main
before
main
can
get
into
like
before
the
process
can
resume
so
there's
just
kind
of
like
extra
process
that.
A
Okay,
I'm
really
happy
about
this
cool.
Let
me
start
the
recording.