►
Description
Greg Myers from GitLab supports deep dives into how you can manage or reduce your CI/CD Minutes Usage on shared GitLab.com Runners.
A
A
A
Next
I'll
summarize,
several
options
available
for
users
looking
to
streamline
or
optimize
get
lab,
ci
cd
jobs
and
pipelines
to
help
improve
efficiency
and
reduce
their
ci
minute
usage.
Last
I
will
show
how
to
bring
your
own
get
lab
runner
and
connect
it
to
gitlab.com
as
an
alternative
to
using
shared
runners.
A
Only
the
getlab.com
provided
shared
runners
count
towards
ci
minute
limits,
so
when
using
your
own
runner
or
runners
on
gitlab.com
for
gitlab
cicd
ci
minutes
are
virtually
unlimited.
The
page
I
have
pulled
up
in
my
browser
here.
This
is
the
namespace
view
for
my
group.
My
group
is
called
just
greg
and
includes
just
me
here
I
can
see
these
are
the
different
subgroups
and
projects
I
have
in
this
namespace
to
see
my
usage
of
ci
minutes.
I
go
to
settings
and
usage
quotas.
A
A
A
I
can
see
I
have
a
limit
here
of
2000,
so
I
can
also
click
to
buy
additional
minutes.
I'm
not
going
to
go
over
the
purchase
flow
in
this
video.
Just
wanting
to
point
out
that
that's
where
to
go
to
get
some
extra
minutes
now
that
I
know
which
projects
are
using
my
ci
minutes
and
how
many
ci
minutes
each
project
is
using
thus
far,
I
can
think
about
how
I
could
go
about
either
optimizing
or
streamlining
my
git
lab
cicd
jobs
and
pipelines
to
improve
efficiency
and
reduce
my
ci
minute
usage.
A
A
Otherwise,
there
are
the
rules
which
also
have,
if
and
when
in
the
syntax,
combining
the
power
of
rules
workflow
rules
when
we
can
pinpoint
specifically
at
what
time
we
would
like
to
use
ci
minutes
and
ensure
that
it's
only
if
we
need
to
and
when
it's
helpful
in
the
same
vein,
there
is
the
risk
of
scheduling
pipelines
too
frequently.
This
is
not
for
scheduled
pipelines.
A
A
Last
update
two
hours
ago,
I
can
deduce
that
this
is
a
scheduled
pipeline,
and
here
it
is.
We
have
the
per
minute
weather
report
pipeline
and
this
is
chrome
syntax.
But
this
says
every
five
minutes
execute
this
ci
job.
I'm
gonna
change
it
from
every
five
minutes
to
every
day.
A
A
A
A
A
I
can
fix
this
by
adding
a
timeout
for
the
sake
of
demonstration.
One
minute
to
this.
A
Now
I've
not
actually
modified
the
job.
That's
running
I've
just
added
a
one
minute
timeout
now
we
see
there's
timeout
of
one
minute
coming
from
the
job
and
I
would
not
expect
this
job
to
take
longer
than
one
minute,
whereas
the
previous
job
was
taking
just
under
two
hours
and
would
have
gone
right
up
to
that
three
hour.
A
A
A
A
A
These
are
useful
examples
on
how
to
cash
dependencies
for
reuse
in
jobs,
so
you're
not
constantly
downloading
another
method
to
improve
the
efficiency
of
your
get
lab,
ci,
cd
jobs
and
streamline
the
minutes
you
use
is
to
use
a
docker
image
that
comes
bundled
with
all
that.
You
need
right
off
the
bat
instead
of
starting
with
a
base
image
and
building
up
every
time.
A
A
A
A
A
Now
these
jobs
are
relatively
simple,
but
this
could
definitely
be
the
same
case
with
a
much
larger
amount
of
time
where
just
installing
the
dependencies
and
software
to
get
up
and
going
in
a
job
can
take
the
majority
of
the
ci
minute
time.
Let's
look
at
the
difference
in
execution
here.
This
is
the
job
log,
that's
for
the
all-in-one,
and
this
is
for
from
scratch.
Now
from
scratch.
We
see
it's
a
much
longer
job
look.
We
are
installing.
A
A
So
I
will
demonstrate
how
to
do
that
in
the
documentation
for
this
we
so
first
to
get
things
started.
We
need
to
install
get
lab
runner
now.
Installing
gitlab
runner
means
you
have
a
server
a
virtual
machine,
a
something
running,
docker
kubernetes,
open
shift.
You
can
even
run
it
on
mac,
os
and
windows
freebsd,
some
infrastructure
on
which
to
run
the
gitlab
runner
software,
and
then
we
start
from
here
I
personally
like
using
docker,
because
I
think
it
has
some
advantages
over
other
types
of
runner.
A
I
know
kubernetes
is
going
to
be
the
best
choice
for
auto
devops
and
continuous
deployment.
Kubernetes
runners
are
very
powerful
and
then
there's
also
some
situations
where
get
lab
shell
or
these
just
the
package
here.
That's
plenty
sufficient
or
is
preferable,
I'm
going
to
demonstrate
how
to
do
it
using
git
lab
in
a
docker
get
lab
runner
in
a
docker
container
so
to
install
get
lab
runner.
This
is
pretty
easy.
I
just
I
can
copy
and
paste
this
command
and
here's
a
terminal
I'm
going
to
ssh
into
the
server
the
server
greg
runner
here.
A
A
And
requirements
first,
you
install
the
get
lab
runner
which
we
already
have,
and
then
we
have
the
choice
between
project,
specific
or
group
runner,
I'm
going
to
do.
Group
runner
and
I
select
docker
from
this
menu
here
to
access
the
group
runner
settings.
It's
settings
for
my
group
runners
and
there's
a
drop
down,
see
this
heading
set
up
a
group
runner
manually,
so
install
get
lab
runner,
that's
the
documentation.
I
followed
previously
specify
the
following:
url:
okay,
that's
easy
enough!.
A
A
A
A
A
Project
to
specify
I
don't
want
to
use
shared
runners,
I
go
in,
and
I
click
disable
shared
runners
for
this
project.
Now
that
I
have
my
shared
runner
or
dedicated
runner,
byo
bring
your
own
runner
registered.
Let's
see
how
I
can
actually
use
this
in
a
project
so
see
I
have
shared
runners
disabled.
I
could
click
enable
if
I
want
to
but
nope.
I
just
want
to
use
my
group
runners,
so
it
looks
like
this
one
is
available.