►
From YouTube: 2020-12-09 AMA about GitLab releases
Description
AMA with the Delivery team about how we deploy GitLab.com and release GitLab to self-managed users.
A
C
Fantastic
thanks
so
much
for
joining.
So
this
is
the
ask
me
anything
about
get
lab
releases
and
deployments
with
the
delivery
team,
so
I'm
amy,
phillips,
engineer
manager
for
delivery.
We're
joined
by
quite
a
few
people
from
delivery
as
well.
To
answer
your
questions
to
make
this
slightly
better,
trying
to
explain
that
this
is
as
delivery
team.
We
are
focusing
on
deploying
and
releasing
gitlab.
C
So
all
the
code
to
get
up,
we
are
moving
through
to
production,
so
we
will
run
through
some
of
these
questions.
We
may
not
be
the
experts,
because
I
think
some
of
these
may
cover
the
features
of
deployments
and
releases
for
github
users,
but
we
shall
see
if
we
have
someone
on
the
call
who
may
be
able
to
help
out
so
john.
Do
you
want
to
verbalize
your
question?
Let's
see
if
we
have
someone
who
can
help
you
out.
B
Yeah,
so
so
you're
right,
I
did
have
a
bit
of
a
misunderstanding
as
to
what
the
meeting
entailed.
So
my
questions
are
more
around
the
features
of
get
loud
releases
and
deployments.
So
forgive
me
if
yeah
these
questions
aren't
necessarily
appropriate,
but
I'm
actually
to
start
with
jamie's
question
down
to
number
three
just
to
confirm
how
we
count
deployments.
B
D
Okay,
again,
as
hammy
said,
this
is
something
that
we
are
user
as
well,
because
it's
something
that
developed
by
the
release
group,
but
we
know
we
contributed
some
part
of
it.
So
we
we
may
help
answering
these
questions.
So,
yes,
if
there
is
an
environment
label
in
your
ci
job,
this
will
be
recorded
as
a
as
a
as
a
deployment
and
we
increase
the
number,
but
we
also
implemented
api
support
for
it.
D
So
if
you
have
special
requirements,
you
can
do
api
call
to
gitlab
and
record
your
own
deployment,
which
means
you
can
you
have
also
more
granularity.
You
can
record
the
deployment
started
and
then
maybe
it
failed
later
on
or
it
got
completed,
or
you
can
just
say
I
did
this.
It's
a
deployment
is
completed
and
you
provide
all
the
information.
B
Good
yeah,
I
do
think
probably
my
next.
My
first
two
questions
are
probably
I
don't
say
inappropriate
for
this
group
that
aren't
necessarily
relevant
to
this
group,
so
mine
are
around
sort
of
just
tracking
deployments
to
production,
metrics
and
that
kind
of
thing
so
alessio.
I
see
you
answered
my
second
question
around
the
environment
feature
being
flexible
enough
for
some
of
this
stuff.
So
I
don't
think
this
is
the
right
venue
for
these
questions,
but
thank
you.
E
F
C
And
for
your
other
questions,
john
we'll
make
sure
the
releases
stage
group
know
about
them
so
that
you
can
get
an
actual
answer
on
this
because
they
will
certainly
have
the
answer
for
you.
D
C
D
G
I'm
actually
working
on
a
frequency
of
deployment
api
for
for
metrics
right
now.
It's
a
gitlab
ultimate
only,
but
it
should
be
in
this
milestone,
and
that
is
for
a
project
scope.
So
you
could
get.
B
Also
specify
the
branch-
no
not
yet
absolutely
yeah,
because
that's
really
why
questions
related
to
is
we
record
deployments
and
deployments
over
time,
but
those
deployments
could
be
just
a
review
app
in
a
dev
branch.
I
think
most
people
want
to
know
their
deployment
to
reduction
velocity,
so
measuring
yeah,
so
being
able
to
restrict
that
count
to
the
master
branch.
I
think,
which
is
where
most
people
deploy
to
production
from
is
probably
a
more
important
metric
than
overall
deployments.
G
Since
I'm
yeah
I'm
actually
working
on
that
right
now,
it's
in
review.
I
can
talk
to
my
product
manager
r8
and
see
if
we
can
get
that
added,
because
I
don't
think
that
would
be
too
difficult
to
add
right
now.
C
Fantastic
thanks
for
that
amy
glad
you're.
Here
I
was
hoping
there'd
be
somebody
from
releases
here,
fantastic,
so
dad.
Would
you
like
to
go
ahead.
A
Hey
everybody,
so
I'm
just
thinking
about
deterministically!
Well,
I
said
deterministically
determining
that's
pretty
bad.
I
apologize
what
was
released
in
a
particular
deployment.
It's
something
that's
come
up
a
while
ago
and
I
have
not
seen
any
updates
here.
So
I
apologize
if
I
missed
a
really
cool
announcement
here
that
we've
been
proceeding
here,
but
it's
really
this
idea
of,
like
figuring
out
what
will
be
in
what
release
so
that
we
can
be
explicit
about
when
something
is
available
or
not
and
to
whom
it
becomes
available.
A
Self-Managed,
customers
and
and
and
all
of
those
other
groups
that
may
or
may
not
be
interested
in
in
releases.
I
Yeah
I
was
looking
up
the
link
to
it,
so
I
can
add
it
to
the
doc,
but
there
we
go.
We
added
in
13.6
the
ability
to
filter.
H
I
You
can
say
staging
production,
etc.
The
api
does
have
functionality
so
that,
given
a
deployment,
you
can
get
the
merge
requests.
That
itself
is
not
visualized.
So
there's
no
page
where
you
can
go
and
click
on
the
deployments
and
then
see
there
requests
you
have
to
go
to
the
merge
requests
index
page
basically
and
then
say
give
me
all
the
merch
question:
production
staging
or
whatever
or
merge
requests
that
have
been
deployed
in
this
time
window,
but
it's
all
focused
on
which
quests
so
not
individual
commits.
A
Yeah,
that's
that's
sorry.
I
don't
know.
Sometimes
I've
been
like
reverse
meeting
myself
recently
where
I'm
unmuted
and
then
I
mute
myself
and
I
start
talking,
which
is
probably
valuable
for
some
people
but
yeah.
That's
that's!
That's
good.
I
think
what
I'm
thinking
a
little
bit
in
terms
of
is
the
release
post
and
how
ems
can
determine
something's,
released
and
sort
of
you
know
really
be
able
to
be
sure
about
it.
A
I
mean
so
actually
that
works
better
for
mrs
than
commits
well
that,
I
believe,
would
work
better
with
mrs
than
just
having
a
commit
being
part
of
a
deploy,
so
that's
cool.
Thank
you
very
much.
A
C
That's
a
great
question,
so
kind
of
the
overarching
big,
exciting
thing
is
always
making
deployments
and
releases
faster
and
safer.
Well,
I
think
we
actually
have
all
the
dri
so
dris.
Would
you
like
to
give
a
bit
of
an
overview
of
what
you're
currently
working
through
so
alessio?
Do
you
want
to
kick
us
off
sure.
D
So
there
is
this
well
one
of
the
goal
of
the
delivery
team
is
automating
ourselves
out
of
our
work.
So
basically,
there
are
some
parts
of
the
deployment
process
there
are
still
manual
and
we
take
rotation
as
release
managers.
Basically
every
two
months,
so
one
of
the
direction
is
trying
to
remove
all
the
out
the
works.
D
It
requires
us
to
act
manually,
so
automating
rollbacks
and
completely
automating
deployment
up
to
production
and
another
thing
we
are
working
now
in
this
regard
is
we
are
going
to
simplify
some
of
our
pipelines
because
they
were
built
over
time
and
they
we
accumulate
too
much
complexity.
So
now
we
are
focusing
on
moving
all
of
our
deployments
back
to
a
single
pipeline
in
release
tools,
so
that
we
can
actually
focus
more
also
on
dog
footing,
our
own
features,
because,
right
now
we
have
too
many
pipelines
around
in
several
projects
in
several
instances.
D
So
it's
really
hard
to
get
to
use
our
own
features
that
are
designed
usually
for
a
project
level
and
not
that
much
on
multiple
projects,
so
that
that's
for,
for
my
side,.
H
I
Yeah,
no
I'm
I'm
working
currently
on
automating
change,
but
change
lock
generation
within
gitlab
itself,
because
we
have
our
custom
tooling
for
it.
I
like
so
many
projects
out
there.
Everybody
has
their
own
thing
so
we're
building
that
into
kit
lab
which
touches
upon
you
know,
parts
and
ghillie
parts
in
gitlab.
I
Also
now
I
want
to
release
tooling
with
ultimately
the
idea
being
that
you
just
you
know,
send
an
api
call.
You
say
hey,
you
know
this
is
my
new
version.
This
is
sort
of
the
the
range
of
commits
that
went
into
that
version
or
will
go
on
that
version
actually
and
then
get
that
takes
care
of
updating
the
changelog
for
you
and
all
that
stuff.
H
For
for
like
the
kubernetes
immigration
work,
which
is
what
myself
and
john
starbuck
is
working
on,
the
next
big
thing
for
us
is
probably
just
going
to
be
moving
the
next
service
to
kubernetes.
We
just
finished,
get
https
and
get
ssh
following
that.
We're
going
to
be
creating
a
new
service
to
to
for
websockets
to
segment
websockets
from
the
rest
of
our
fleet,
which
is
currently
mixed
in
with
the
get
traffic
following
that,
then
we're
going
to
be
creating
a
dedicated
service
for
api
and
web.
H
Those
are
currently
running
in
vms,
so
we're
looking
forward
to
getting
those
over
to
kubernetes
once
that's
done,
then
our
entire
front
end
will
be
serviced
by
kubernetes,
pods
and
also
currently
right
now.
Sidekick
is
also
in
kubernetes
and
except
for
the
jobs
that
have
to
do
with
gitlab
pages,
which
still
relies
on
nfs,
but
that
should
be
changing
soon.
So
I
think
that's
it
for
me.
Does
anyone
else
hear
in
delivery
want
to
speak.
C
Just
to
tie
all
those
three
things
together,
so
we
kind
of
have
these
three
focuses
at
the
moment.
One
is
around
the
pipelines
themselves
and
reducing
complexity,
one
is
about
dog
fooding
and
how
we
can
actually
bring
more
of
our
deployment
process
and
our
release
process
into
actually
things
that
get
up
features
either
that
we
exist
that
we
start
using
or
expanding
them.
So
they
also
work
for
our
use
case
and
then,
finally,
with
kubernetes.
C
C
One
question
I
had
for
people
who
are
in
some
way
linked
to
deployments
and
releases:
either
you
benefit
from
them
or
you're,
doing
them
or
or
somehow
like
you're
sort
of
linked
to
somehow
is
I'm
curious
to
know
what
people
think
would
be.
If
there
was
one
thing
you
could
magically
change
about
the
way
we
deploy
or
release
with
gitlab.
What
would
that
thing
be.
A
Yeah,
I'm
always
what
I'd
I'd
love
to
see
like
real
time,
but
that's
like
the
definitely
the
big
magic
wand
right,
there's
so
many
factors,
not
least
of
which
is
you
know,
access
permissions
impact
measuring
having
good.
You
know,
metrics,
to
determine
how
things
are
going
so
I'd
love
to
see
an
engineer,
merge
something
into
a
master
and
and
that's
just
let's
live
right
away,
that'd
be
really
really
cool
and
particularly
at
the
scale
we're
running
at.
A
C
C
I
think
from
my
side
I
would
love
to
have
a
way
to
eject
a
mr
out
of
out
of
one
of
our
packages
without
having
to
run
it
right
through
all
of
our
environments,
or
maybe
I'm
thinking
like
have
the
pipeline
so
fast
that
it
doesn't
matter.
Okay,
I
think
it's.
We
quite
often
take
the
cautious
approach
of
reverting
an
mr
that
we
believe
may
be
causing
problems.
C
Excuse
me
and
the
time
that
takes
to
actually
revert
it
and
rebuild
go
through
our
staging
and
canary
environments
is
quite
long,
so
I'd
love
to
see
a
way
to
just
magically
eject
something
and
be
able
to
continue
things
forwards.
E
C
Yeah,
that's
a
great
one.
What
sort
of
things
are
people
struggling
with
on
the
kind
of
with
their
kubernetes
deployments?.
E
So
the
probably
it's
the
when
they
when
they
try
to
really
go
highly
available
with
kubernetes
at
least
the
the
recommendations.
I've
heard
recently
have
been
that
the
back
end
services,
postgres,
redis
and
giddily-
still
have
to
be
outside
the
cluster
and
customers
would
just
like
the
whole
thing
to
magically
be
in
the
cluster,
and
I
understand,
there's
not
an
h,
a
cluster
ready,
postgres
and-
and
I
don't
think
it's
really
our
place
to
write
one.
But
but
but
that's
certainly
the
request
that
I
that
I
hear
frequently
from
clients.
C
C
C
In
which
case,
I
have
to
say
thank
you
so
much
to
everyone,
who's
asked
questions
and
a
huge.
Thank
you
dan
for
writing.
All
the
notes,
like
amazing,
do
you
want
to
verbalize
this
stuff
jason.
F
I
actually
was
avoiding
it
because
it's
more
on
the
distribution
side
than
delivery,
please
so
when
it
comes
to
the,
where
does
the
state
live,
and
why
does
it
not
live
in
kubernetes?
This
is
really
more
about
how
we're
doing
the
charts
and
what
our
recommendations
are
based
on
our
actual
understanding
of
the
applications.
F
F
F
F
F
F
Giddaly
has
high
high,
I
o
rates
at
large
scale.
If
you
are
hammering
the
poor
thing
with
get
pulls
and
all
this
you
can
actually
crush
the
individual
kubernetes
node,
on
which
the
getaway
service
is
running.
If
you
don't
understand
how
the
application
behaves
and
the
implications
of
having
100
nodes
do
get
pull
at
the
top
of
the
hour
every
hour.
F
This
is
much
easier
to
handle
when
you
don't
have.
Who
knows
what
competing
for
cpu
network
disk
we've
had
customers
in
the
past,
who
had
100
percent
kubernetes
native
deployments,
and
we
have
had
some
very
unfortunate
experiences
for
those
users,
because,
despite
having
a
dedicated
node
for
getaway
and
giving
it
the
same
amount
of
traffic,
they
gave
it
elsewhere.
F
The
constraints
that
were
put
on
it
resulted
in
getting
literally
just
being
kicked
because
it
used
more
memory
or
cpu
than
it
was
supposed
to,
and
it's
really
bad
experience
when
your
stateful
service.
That's
that
critical
just
goes
from
your
services
list
and
disappears
off
the
cluster.
It
comes
back
really
fast,
but
you
shouldn't
have
to
deal
with.
F
A
C
C
Are
there
any
updates
or
progress
things
on
any
of
the
work
we
have
going
on,
that
we've
covered
that
people
would
like
us
to
share
more
widely
like?
Are
you
getting
enough
visibility
of?
What's
going.
A
On
I
guess,
I
wonder,
did
the
did
that
that
release
went
out
in
the
release
post
the
one,
the
filtering,
the
mr's
right,
that
that's
actually
in
a
deployment.
Presumably
it
went
out
the
release
posted.
We
also
put
that
in
engineering
we
can
review,
because
I
have
been
reading
that
I'm
not
sure
if
I
saw
it,
I
just
missed
it,
because
it
was
something
I
skimmed
over.
C
Awesome,
thank
you
so
much
everyone
for
joining
us
today
for
the
questions
and
say
once
again,
dan
super
typing
very,
very
impressed.
So
thanks
for
doing
that,
brilliant
enjoy
the
rest
of
your
days.
Everyone
we'll
see
you
all
next
month,
sometime
take.