►
From YouTube: Creating a new project template for GitLab from scratch
Description
Here I walk you through getting a new project template for Django working so you can see what it's like. We'd love for you to contribute templates for frameworks you are an expert in!
A
Hey
everyone:
my
name
is
Jason
Lenny
and
I'm
the
product
manager
for
release
here
at
gate
lab
and
today,
I've
tried
to
do
I've
decided
to
do
something
a
little
bit
different
I'm
going
to
do
a
recording
of
me.
Creating
a
new
project
template
so
templates
in
get
lab,
are
pretty
cool.
I'll
show
you
what
those
look
like
if
you
come
to
get
lab
and
you
go
to
a
new
project.
A
What
we'll
get
here
in
a
moment
is
this
create
from
template
screen
where
there's
a
bunch
of
templates
already
available,
there's
Ruby
on
Rails
spring
some
pages
templates
and
we're
working
on
adding
more
of
these
as
well,
and
what
I
want
to
do
here
is
add
a
new
one
and
I
want
to
do
this
in
this
recording.
So
you
can
learn
how
to
do
it
as
well.
A
First
thing
to
mention
is
I'm
not
a
programmer
per
se.
I
know
how
to
program
a
bit.
I
can
read
Python
code
and
I
hope
that
that
ends
up
being
enough
for
me
to
achieve
this,
that's
why
I'm
not
doing
it
as
a
live
stream,
just
in
case
I
get
stuck
somewhere
from
not
really
knowing
Python
or
Django.
But
if
you
actually
know
the
framework
that
you're
implementing
as
a
template,
then
you're
gonna,
it's
gonna,
be
even
easier
for
me
for
you
than
what
you
see
here.
A
A
Great
and
so
so
this
is
good
to
go
now.
What
needs
to
be
in
here
is
some
a
readme
with
some
instructions
for
sure,
but
also
this
should
be
in
the
state
that
a
new
project
should
be
in
so
maybe
the
easiest
way
to
think
about
that
is
the
output
of
creating
a
new
project,
adding
the
gate
lab
CIA
MO,
that's
what
needs
to
go
in
here
and
then
what
your
user
is
going
to
experience
is
when
they
go
through
that
new
project
dialog
and
import
the
project.
A
A
It's
gonna
be
the
best
way
to
do
this.
I
think
probably
using
vs
code
is
going
to
be
easiest
for
the
moment,
although
or
maybe
WSL
yeah.
Let's
like
let's
go
ahead
and
bring
up
my
WSL
terminal
here
and
let's
see
if
I've
got
Python
on
it,
okay,
great
we
do
and
C
you
can
see
I'm
not
exactly
familiar
with
Python,
so
I'm,
not
cheating.
In
this
thing,
let's
see
Python
and
Django
version.
No
module
named
Jango;
okay.
A
It
looks
like
we're
using
an
older
version
of
Python
and
we
also
don't
have
write
access
to
use
your
local
lip,
so
it
looks
like
we
need
to
run.
This
is
route.
A
A
A
Just
to
avoid
too
many
met
too
much
installing
of
things
I'm
going
to
not
upgrade
my
Python
right
now,
but
I
think
before
I
make
this
an
official
template.
I
would
go
back
and
upgrade
my
Python
to
something:
that's
like
more
modern
and
it's
not
going
to
expire
in
a
year
and
and
then
just
recreate
this
template.
But
in
terms
of
teaching
you
how
easy
it
is
to
create
a
template.
I
think
that
this
is
fine.
A
A
Now
one
of
the
limitations
of
templates
at
this
point
is
that
you
can't
run
a
command
as
like
kind
of
the
first
thing
that
happens.
We
do
have
an
issue
for
that,
where
you
can
both
recreate
environment
variables
or
prompt
for
values
that
should
be
in
there
as
well,
as
maybe
run
a
script
for
the
first
time
installation.
So
the
way
you
do
this
for
now
and
just
go
ahead
and
get
your
repository
in
the
state
that
you
want
it
and
then
so.
A
Okay:
let's
go
ahead
and
grab
that
repo,
and
then
this
will
be
the
working
folder
that
we
use
Django
and
yeah.
We
just
have
our
generic
and
readme
dot
MD
in
here,
so
it
looks
like
Django
is
installed.
Do
I
have
the
okay
note
that
only
Django
Corps
commands
they
listed
as
settings
are
not
properly
configured
installed?
A
specific
attack
figure
must
define
the
environment
variable.
A
Maybe
that's
going
to
be
explained
to
us
shortly,
or
maybe
it's
just
not
relevant
to
this
command.
So
let's
go
ahead
and
start
a.
This
will
create
a
my
site
directory
in
your
current
directory.
A
Underscore
then
way
because
we're
gonna
have
to
edit
this
stuff.
Alright,
so
we've
created
a
website.
Let's
see
what
we
ended
up
with,
why
a
lot
of
stuff,
what
that,
because
I'm
that's
cuz,
if
they
get
they
get
files
alright,
so
it
looks
like
there's
some
description
here
of
what
these
files
are.
I'm,
not
gonna,
worry
about
that
too
much
at
this
point,
change
into
the
my
site
directory
and
run
the
command
alright.
So
we
called
this
Django
templates,
Python
managed
by
run
server.
A
A
Maybe
we
should
just
go
ahead
and
run
these
migrations
I.
Don't
know
why
it
would
create
a
template
in
a
state
that
doesn't
work
in
the
database.
Is
that
file
intended
to
be
checked
in?
Let's
look
for
a
Django
dot,
get
ignore
and
see
what
kinds
of
things
are
put
in
here:
okay,
yeah,
so
that
DB
sequel,
Lite
file
is
intended
to
be
excluded.
A
Try
that
again,
sometimes
it's
in
this
clique
I
have
a
quiet
mouse.
They
I
don't
get
really
good
feedback.
If
it
clicks
now,
I
got
it
for
recording,
but
now
sometimes
I
can't
tell
if
I
actually
click
something
or
not.
Okay,
so
we've
now
got
something
checked
in
and
then
I
think.
The
next
thing
that
we
want
to
do
is
try
and
enable
see,
ICD
and
see
what
happens
and
hopefully,
there's
a
Django
template.
There
is
alright,
so
this
file
is
a
template,
might
need
editing
for
it.
Works
in
your
project.
A
A
A
A
In
the
meantime,
what
we
can
do
is
start
working
on
boiler
plates
and
what
I
have
here
the
best
way
to
start
one
of
these
things,
I
find
is
always
to
take
a
look
at
another
merge
request
that
did
the
same
thing:
there's
just
a
few
places
where
you
need
to
actually
add
files
so
to
give
it
tour
of
them.
There's
a
project
new
Jas
file,
where
you
just
defined
a
couple
things
here:
I'll
change,
log
file,
which
is
get
live
specific,
but
we'll
get
into
that
project
templates
is
where
the
project
template
is
defined.
A
There's
a
spec
that
I'll
come
back
to
the
pot
file,
there's
a
spec
that
validates
that
the
the
template
is
created
correctly.
We
have
this
gait
lab
pot
file,
which
contains
localizable.strings
will
run
a
command
later
to
to
generate
this
automatically.
Based
on
this,
having
be
the
underscore
there
and
then
yeah,
and
then
the
dotnet
core
target
da
GZ
file
is
the
output
of
exporting
this
project
that
we
create
sorry.
This
one.
A
A
A
A
A
A
A
And
then
this
file
is
what
we're
going
to
have
to
add
to
get
the
image
to
work,
but
I
can
pick
what
the
name
will
be.
Project
templates,
okay,
spring
illustrations,
logos
bringing
done!
Oh
sorry,
this
is
the
path
to
the
where
we're
eventually
going
to
put
the
put
the
project
template
once
it's
final
and
then
this
is
the
illustration
path.
So
we'll
just
call
this.
The
django,
SVG
and
I'll
have
to
add
that
image
to
a
different
project
in
a
moment
get
logged
up.
Hop
will
be
generated.
A
A
It
doesn't
cause
a
problem
but
okay
and
then
then
so
the
next
thing
that
we
need
is
our
working
template
export.
So
let's
see
what
happened?
Okay
could
not
open
requirements
text
so
I
suppose
what's
happening
is
that
we
need
to
be
in
that
directory.
So
now,
let's
see
go
back
to
our
repo
get
lab
CI
mo.
A
Yeah,
that's
the
first
thing:
we
do.
Let's
change
into
the
Django
template
folder.
Now
we
don't
need
to
do
this
or
or
worry
about
what
folder
that
we're
in
the
wrong
folder.
In
the
other
case,
so
change
in
all
jobs
to
the
Django
templates,
folder,
okay
and
then
hopefully
we
get
a
good
run
this
time
it
should
the
test
should
pass.
Maybe
it
would
be
good
to
just
kind
of
go
run
over
here
and
go
to
the
dingo
template
folder,
and
then
it
was
Python
and
managed
at
PI
testing.
A
A
You
will
want
to
change
the
Django
templates
site
name
to
match
what
ever
you
prefer
and
then
normally
I
would
list
out
the
different
locations
that
you
would
want
to
do
that.
But
since
this
is
just
a
sample,
this
isn't
going
to
be
a
real
one,
because
I'm
going
to
go
update
my
Python
version
before
I
do
anything
here.
I'll
just
leave
this
kind
of
as
a
giving
you
a
sense
of
what
of
what
this
might
include
and
then
so
add
instructions
to
read
me.
That's
fine
and
then
let's
go
check
on
our
pipeline.
A
Also
have
another
unit
serviced
here
that
I
use
for
if
parts
of
the
build
process
I'm
recording
on
my
Windows
machine,
normally
I
just
use
straight
UNIX
all
the
time,
but
but
this
makes
things
a
little
bit
easier
for
recording
so
from
this
host
we
can.
We
can
run
a
couple
of
the
commands
that
we
need
to
run
to
generate
the
dot
pop
file
and
so
on.
A
There
is
an
additional
step
when
you
export
the
project
to
strip
all
of
the
previously
run
pipelines.
Issues
and
things
like
that
out,
get
lab
will
take
care
of
that.
For
you,
you
don't
have
to
worry
about
that.
We
want
to
make
that
easier
to
use,
but
at
the
moment
it's
a
little
bit
complicated
so
feel
free
to
just
you
know,
point
us
to
your
project
and
we
can.
We
can
handle
this
export
part
for
you.
Okay,
fatal
file
does
not
exist.
A
A
A
A
Or
should
Django
be
in
there,
so
there
be
a
requirement
sex
with
Django.
Let's
try
this
so
only
use
requirements,
requirements
text
if
it
exists,
I.
A
A
A
A
A
Well,
we'll
keep
it
there.
Let's
see
what
happens
so,
cancel
this
and
go
take
a
look
at
our
pipeline.
A
A
Actually-
and
you
know
what
just
to
make
sure
that
nothing
strange
is
happening-
let's
match
our
Python
version
to
the
pie:
shop,
python
version
that
I
was
using
locally.
A
Filled
extract
cache,
but
that's
okay.
Aha,
it
looks
like
we
were
installing
something
and
we
ran
the
test.
Okay,
so
this
is
our
build
that
was
running
on
Python
37,
which
which
didn't
succeed,
but
I
think
that
we
want
to
validate
that
runs
on
T
7,
since
that's
not
actually
what
we
created
the
template
for.
A
So
let's
go
ahead
and
export
this,
so
the
way
that
you
do
this
is
go
into
settings,
export
projects,
export
project
and
then,
in
a
moment
here,
when
you
refresh
this
page,
it
really
just
just
take
a
second
or
two
yeah.
There's
a
download
export
button.
So
I'll
open
up
this
folder
I'm,
just
gonna
rename
to.
A
A
Then
go
into
the
vendor,
folder
vendor
project
templates
and
then
in
here
you
can
see
all
of
the
other
templates
and
I'm
going
to
add
I,
don't
know,
apparently
that
doesn't
work,
so
we
won't
do
it
that
way.
Let's
upload
a
file,
these
are
personal
files
and
desktop,
and
then
all
I'm
doing
here
is
selecting
the
sorry
it's
in
my
downloads,
folder
and
then
I'm
selecting
the
Django
tar.gz
file.
A
A
A
Stay:
okay,
yeah,
so
this
is
just
a
repository.
Let
me
go
grab
my
branch
name
over
here:
okay!
Well,
let's
go
ahead
and
let's
go
ahead
and
commit
these
changes
here
to
the
boilerplate.
The
commit
message
is
add:
boilerplate
or
Django
template
the
staging
commit
and
then
let's
head
back
into
our
the
project,
so
get
lab.
Calm,
slash,
good
lab,
org,
get
lab
c
e
and.
A
A
A
A
We
need
to
add
the
changelog,
which
is
pretty
straightforward,
but
this
would
be
a
good
point
actually
to
bring
in
the
get
lab
team
and
just
bring
someone
here,
and
we
can
help
you
process
that
that
export
and
make
sure
that
everything
is
good
to
go
and
that
there's
no
issues
or
pipeline
results
or
anything
like
that
included.
And
then
we
can
get
this
merged
and
yeah
like
I,
said
that's
pretty
much
it
in
order
to
add
a
new
template.
A
But
adding
this
boilerplate
and
getting
your
project
create
and
exported
is
pretty
simple
and
you
could
probably
do
in
an
hour
and
have
the
quality
be
much
nicer,
so
I
think
I'll
end
the
video
here
I
apologize,
I
hadn't,
you
probably
noticed
there
was
an
edit
at
one
point,
but
it
was
because
something
confidential
appeared
on
the
screen
and
there
was
no
other
content
missed,
but
yeah.
If
you
have
any
questions,
feel
free
to
reach
out
I
would
love
to
chat
about
it
and
I
can
I'd
be
happy
to
help.
You
also
create
another
template.