►
From YouTube: Deploy Approvals Sync – Release Group
Description
Daniel Fosco (Sr. Product Designer), Rayana Verissimo (Product Design Manager), and Shinya Maeda (Sr. Backend Engineer) discuss current design work and existing workflow for deploy approvals.
Agenda Doc: https://docs.google.com/document/d/1N9gh7LlmzyGWIeSl1NLDajZUhC7MpaB_xN7K-LvHm3E/edit#heading=h.hpiee6n2ob2j
Issue:
https://gitlab.com/gitlab-org/gitlab/-/issues/35412/
A
Hello,
everyone:
this
is
a
call
to
sing
about
the
current
manual,
allow
and
deny
action
on
pipeline
lab
we're
talking
with
hyaluvo
product
designer
man,
product
design
manager
and
the
release
group
and
shenya
maida
who's.
A
back-end
developer
in
the
release
group
as
well.
A
All
right,
shinya
media,
a
quick
agenda
doc,
just
just
with
some
links
for
us
to
take
a
look
at
as
we
discuss
so
I'm
gonna
state
the
problem,
the
last
piece
of
it.
As
I
understood,
and
then
you
can
correct
me
if
there's
anything
wrong
and
then
we
go
from
there
sounds
good.
B
Yes,
yes,
good.
Also
I'd
like
you,
I'd
like
to
show
you
how
the
typical
cicd
workflow
is
built,
like
very
simple
workflow
example,
so
that
you
don't
have
an
idea
like
why
and
keep
saying
the
same
thing
again
and
again,
like
most
rex,
oriented
approach
seems
wrong
yeah.
So
the
main
purpose
in
this
call
for
me
is
explaining
that
thing.
A
Yeah,
if
you
want
to
share
your
experience,
it's
even
better.
B
B
Okay,
so
yeah
again,
let's
try
to
the
role-playing
that
how
like
in
a
typical
development
developers,
operators
a
situation
like
there's
a
one
project
and
then
let's
say
it's:
three
personas
one
is
developer
and
then
qa,
qa
artist,
qa,
checker
and
then
infrastructure
engineer.
And
then
the
developer
is
there.
B
The
responsibility
is
to
write
a
code
and
then
commit
to
master
branch,
and
then
infrastructure
engineer
is
to
deploy
the
code,
the
merged
code
to
the
production
environment
and
then
the
this
this
approval
future
is,
you
know,
kind
of
helping,
infrastruct
infrastructure
infrastructure,
engineer
that
like,
if
there's
a
imagine
that
there's
a
deployment
button
like
manual
action
manual,
job
and
the
influencer
infrastructure
engineer,
can
click
it
and
then
that
kicks
the
job.
B
But
he
wants
to
a
require
additional
approvals
from
the
qa
qarthis,
the
qa
checker
and
then,
which
is
doesn't
exist
today
in
glove
futures.
So
let
me
show
you
how
it
works.
B
I
created
this
new
project
and,
let's
say
I'm
a
developer
here:
maybe
danielle
you
can
you
can
be
your
infrastructure
engineer
in
this
case.
So
first
we're
gonna
set
up
the
ci
cd
workflow.
B
B
This
deploys
to
production,
environment
and
environment
production,
and
imagine
that
infrastructure
infrastructure
engineer
doesn't
want
to
deploy
from
moderate
guests.
They
want
to
deploy
from
massive
launch.
You
know
this
is
a
the
very
you
know
the
basic
concept
of
continuous
daily
value.
It's
even
the
same
like
auto
debugs.
B
B
Accept
accept
master
like
this,
so
these
are
jobs
for
much
request,
and
this
job
is
for
stable
branch
and
we're
gonna.
A
B
All
right
so
now
I
committed
the
the
guillotine
file
to
master
branch
and
which
creator.
A
B
Cool
now
we
are
seeing
that
this
pipeline
is
deployed,
has
only
deployed
stage
that
which
has
a
production
deployment.
B
And
then,
if
y
creator,
you
know
like
there's
or
imagine,
there's
application,
ruby
on
rails
or
python
or
whatever
things,
and
then
I'm
changing
the
one
of
the
future,
which
means
that
I'm
going
to
create
a
modular
request.
Let's
say
that
this
is
a
like
code
to
change
it.
It's
just
a
documentation
change
but
just
written
as
a
code
change
so
like
a
future
audition
and
then.
B
And
they
create
a
much
broadcast,
so
here's
there.
My
purpose
is
that
hey
this
application
needs
this
change
feature
edition.
You
can
see
that,
and
then
pipeline
is
runs
adam
daniel.
Here's.
One
thing
that
I
want
to
emphasize
that
this
pipeline
is
a
pretty
merged
pipeline.
B
B
A
B
Well
now,
this
pre-march
pipeline
has
passed,
meaning
that
this
modular
guest
is
safe
to
be
merged.
Now
I
gonna
merge
this.
B
And
this
march
action
creates
that
this
postmatch
pipeline
now
this
is
a.
What
are
we
going
to
focus
in
this
context,
so
this
pipeline
run
is
is
running
on
master
branch,
so
you
can
see
that.
B
This
pipeline's
running
it's
created
by
me
so
yeah.
This
is
a
typical,
continuous
deployment
workflow
that,
after
module
guesses
marched,
this
postmatch
pipeline
deploys
to
production,
and
you
can
also
see
that.
B
Environment
is
created
and
then
the
deployment
history
shows
that
hey
got
a
diplomat
from
this.
This
comment,
which
is
committed
from
the
march
request
and
now
we're
gonna,
improve
this
pipeline
because
think
about
that,
the
problem
is
that
I
can
deploy
to
infrastructure.
I
can
deploy
the
production
environment
but
daniel.
You
don't
want
me
to
do
that
because
I'm
just
developer,
so
what
you're
gonna
do
is
maybe
at
first
make
it
manual
job
so
like
the
job
won't
ex
automatically
executed,
but
you
have
to
click
it.
B
B
Now
this
easier
pipeline
on
the
master
branch,
the
stable
launch
and
the
production
job
is
shown
as
a
manual
so
that
it
won't
be
automatically
executed,
even
the
module.
The
a
new
module
case
is
merged.
It
doesn't
deploy
automatically
you,
then
you
have
to
click
this
button,
but
I
can
also
still
click
it.
That's
also
a
problem
right.
So
what
you're
gonna
do
is.
B
So
you
can
protect
an
environment
that
only
authorizes
users
can
deploy
to.
You
can
execute
the
deployment
job.
So
in
this
case.
B
B
B
If
we're
seeing
this
screen
as
daniel,
I
can
see
the
play
button
that
I
can
deploy
to
the
production
server,
but
then
the
problem
in
this
issue
that
we
don't
want
to
require
additional
approvals.
Let's
say
that
hyena
is
a
qa
artist
and
then
how
do
you
want
her
to
join
in
this
loop
and
then,
like
a
requires
elbows
or
even
showing
the
approval
history
who
upload
who
is
eligible
for
uploaders
etc?
So
can
you
cancel
showing?
Can
you
start
sharing
a
screen
in
your
daniel
and
then.
B
Okay
in
this
project,
yep
cool,
so
you
can
the
first
question
for
you
as
an
infrastructure
engineer
is
how
do
you
know
that,
like
deployments,
the
manual
deployments
are
available.
Let's
say
like
they're,
a
bunch
of
100
mark
wickets
have
been
merged,
100
pipelines
created
on
the
master
blanche
and
the
100
manual
deployment.
Jobs
are
waiting
for
you
to
click
the
execute
job
and,
in
addition,
like
highness
approval,
how
do
you
see
that.
B
Yeah,
so
even
the
pipeline
view
is
very
inconvenient
that
you're
sh
you're,
seeing
that
pipelines
on
master
branch
and
also
huge
avalanche,
but
you
don't
want
to
you,
you
don't
care
future
lunch.
What
do
you
care
is
only
master
plans?
What
happening
on
master
branch,
so
one
answer
for
this
problem
is
that
you
visit
the
environment
page.
B
Can
you
go
to
the?
Can
you
open
the
left,
pane
and
then
go
to
operations,
environments.
B
A
So
one
one
question
I
have
is
this
is
a
use
case.
We
have
today
right
of
infrastructure
engineers
that
have
ci
cd
workflow,
where
every
production
deploy
has
to
be
manually
approved.
So
the
way
the
only
way
they
have
to
do
this
today
is
to
come
into
all
the
pipelines
for
the
project,
the
pre-merged
ones
and
post
merge
ones
and
then
just
scan
which
ones
are
production
and
just
click
either
here
or
here
for
all
of
them
is
that.
C
A
C
B
Yeah,
the
most
reasonable
feature
in
this
case
is
that
showing
all
available
deployments
job
in
environment
page
not
the
pipeline
page
yeah.
So
I
think
that
infrastructure
engineer
wants
to
take
an
action
in
that
page,
not
instead
of
pipeline
or
not
even
modular
guest,
so
yeah.
This
is
a
reason
why
what
what
I
suggest
why
I
suggested
that
maybe
we
should
build
this
feature
around
environment,
slash
deployment
page,
which
you
you
can
click
from
that
you
know
left
pane
operations,
environment.
A
Yeah,
I
think
it
makes
a
lot
of
sense.
For
me,
the
the
piece
that
that
was
missing
for
me
to
understand
was
the
difference
between
the
pre-merge
and
the
post-merge
pipeline,
because
that
was
very
clear
for
me.
I
would
see
two
two
pipeline
widgets
in
the
merge
request,
and
I
was
just
assuming
that
the
pipeline
was
running
twice,
maybe
because
the
merge
request
was
updated
or,
for
some
other
reason,
so
yeah
having
the
post
merge
pipeline
running
the
production
deployment
only
on
the
main
branch.
B
Yeah,
so
one
thing
is
that
we
can
improve
in
this
page
is
showing
all
manual
jobs
manual
like
deployment
jobs
waiting
for
execution.
So
I
think
it's
easy
from
back-end
perspective.
We
can
show
that,
like
these
available
jobs-
and
maybe
it's
even
more
convenient
to
show
that
all
associated
much
biggest
from
deployment
jobs,
so
hey
this
deployment
job.
No,
currently
you
see
that
the
top
the
latest
successful
diplomatic
job
is
marcel
blanche
like
marsh
branch
future.
B
There
is
a
fusion
branch
name
into
master,
but
it's
not
really
helpful,
like
you
really
have
an
idea.
What
like
you
want
to
directly
dive
into
the
modular
constant
and
what
actually
changed
yeah
like
especially
this
is
useful
for
a
qa
artist
like
you
know
they
want
us
at
first.
No,
they
want
to
know
that
change
lock
from
the
the
previous
deployment
onto
the
upcoming
deployment,
so
what's
being
changed,
and
then
okay.
So
here,
though,
feature
a
feature
b
feature.
B
Sorry
I
skipped
the
staging
workflow,
especially
qa
engineer,
performs
a
like
the
common
cases.
They
perform
the
qa
testing
in
on
staging
environment,
so.
A
B
Staging
environment
staging
a
deployment
doesn't
need
to
be
manual.
It
can
be
automatically
deployed
like
what
I
did
at
billy.
First,
like
every
time
a
new
modder
gets
merged.
It
will
not
get
deployed
to
pro
staging
because
it
doesn't
harm
any
end
users.
So
yeah
qa
artists
can
dive
into
the
testing
anytime.
A
One
one
final
question:
I
have
why:
why
does
this?
This
job
gets
the
state
of
skipped
when,
in
practice,
yeah
waiting
to
be
approved
or
not
right.
B
Yeah
yeah,
so
money
on
job
is
a
very
like
fundamental
future
in
pipelines,
so
it
doesn't
even
understand
the
concept
of
deployment
it's
just
just
manual
and
then
this
job
like
from
pipeline
perspective,
very
fundamental
pipeline
perspective,
it's
just
manual
job
and
then,
if
it
doesn't
need
to
be
executed.
So
it
just
skipped
right.
So
this
pipeline
said
it
just
skipped.
If
there
is
a
like
the
other
job
like
testing
or
build
a
job,
and
then
it
was
it
if
it
were
executed,
then
this
pipeline
status
will
be
like
passed
or
something.
A
Yeah
all
right,
thank
you.
Thank
you.
So
much
for
this
overview
was
really
helpful
to
to
understand
more
the
technical
baseline
behind
this
this
issue.
Hayana,
do
you
have
any
other
comments.
C
No
not
related
to
to
watching
yeah
explain
but
I'm
curious
to
understand
it.
Then
you
know
what
would
be
like
from
you
to
the
the
next
steps
from
looking
at
the
problems
that
you
currently
had
with
your
design
proposals.
A
So
yeah
coming
coming
back
to
the
issue,
I
think
we
had
the
benefits
with
solution,
validation,
to
see
that
this
approval
interface
worked
really
well,
even
though
the
entry
point
didn't
so
much
so
I
think
we
have.
We
have
the
benefit
that
we
can
adjust
this
and
move
it
to
the
environments
page
and
and
just
turn
the
mvc
into
that.
I
think
it's
what
works
best
at
this
point
I'll
commit
to
paper
all
the
things
sheena
said
just
so.
B
Yep
sounds
good
to
me
so,
like
reflecting
my
points,
though,
like
how
infrastructure
the
point,
one
is
how
infrastructure
engineer
will
find
that
deployment
available
deployment,
jobs,
and
the
second
is
how
the
big
approval
feature.
Yeah
yeah.
C
Yeah-
and
I
think
that's
that'll
be
interesting-
I
don't
know
like
from
a
conversation
with
kevin
yesterday,
but
also
looking
at
that
environment
in
the
plugins
pages
faithless,
like
that,
I
think
it
would
be
interesting
to
see
on
the
insides,
but
also
what
are
the
issues
that
we
already
have
for
the
the
environment's
reordering
page
filtered
search
these
things,
because
just
if
I'm
here,
if
you
trade
it,
but
I
think
there
are
a
lot
of
different
priorities
for
that
page
in
terms
of
yeah,
improving
the
usability
discoverability
of
the
issues,
I
think,
would
be
nice
to
just
have.
C
Like
a.
I
know,
top
five
list
of
boring
solutions.
You
know
the
low-hanging
efforts
that
we
can
have
to
improve
this
findability
of
the
the
manual
jobs
or
the
things
that
need
approval
on
the
leads
field.
That
would
be
super
cool.
A
A
All
right,
thanks
again
shinya.
This
was
really
insightful,
really
helpful.
I
I
wish
I
had
called
this
conversation
earlier
because
it
would
have
saved
some
time,
but
nonetheless
it
was
really
good
to
hear
from
you.
A
That's
one
conversation
yeah
all
right
have
a
good
day.
Talk
to
you
later.