►
Description
More: on JS Runtimes on GitLab: https://gitlab.com/gitlab-org/incubation-engineering/jamstack/meta/-/issues/32
All updates: https://gitlab.com/gitlab-org/incubation-engineering/jamstack/meta/-/issues/5
A
Hi
everyone
thank
you
for
joining
me
for
the
gitlab
drumstick
incubation
engineering
update
this
week.
Do
you
remember
how
I
talked
about
remix
a
couple
of
videos
ago?
Well
that
one
didn't?
Let
me
go
so
I
created
a
proof
of
concept
app
this
week.
I
wanted
to
see
how
easy
it
is
to
deploy
a
remix
app
on
an
edge
server
using
gitlab
ci
cd
spoiler.
It
was
surprisingly
easy.
A
A
A
A
A
A
Also,
there
is
a
setup
file,
that's
required
by
cloudflare,
so
we
can't
just
deploy
a
plain
remix
app
on
cloudflare
and
hope
for
the
best,
but
I
mean
this
is
almost
as
good
they're
offering
the
cloudflare
worker
template
that
we
selected
earlier.
That
comes
with
the
adapter
and
the
required
setup
files.
I
mean
this
is
amazing,
so
we
have
this
folder
now
and
if
we
do
it,
if
we
just
do
it
npm
run
start,
we
can
already
see
the
app
working
locally.
A
A
A
A
First,
let's
use
a
node.js
docker
image
for
the
interaction,
because
we're
going
to
need
npm
to
build
and
deploy
the
application
will
have
two
stages
build
and
deploy.
Now,
let's
define
the
build
job.
It's
part
of
the
build
stage
install
our
dependencies
run
the
build
now
we're
putting
the
build
folder
into
our
artifacts,
which
means
that'll
be
available
in
the
next
pipeline
stage.
A
A
It
doesn't
come
pre-installed
on
the
node
image,
obviously,
but
we'll
just
run
it
with
npx
which
will
auto
install
or
to
install
that
cli
before
running.
So
this
is
now
our
publish
command.
Now
this
file
is
already
done.
Looking
good
just
one
thing
missing
like
how
does
the
publish
command
know
what
cloudflare
account
to
use
and
how
do
we
authenticate
at
cloudflare?
A
Well,
it's
simple.
We
will
use
an
api
token.
We
obviously
don't
want
to
commit
that
so
we'll
set
it
up
as
an
environment
where
I
will,
let's
go
step
by
step.
First,
we'll
login
to
our
cloudflare
account.
Don't
worry.
First
100
000
requests
to
a
worker
are
free
at
this
time,
so
it
should
be
safe
to
just
try
it
out
for
a
bit,
let's
navigate
to
works.
I
already
have
a
few
since
I've
tried
all
this
before,
but
it
could
also
be
empty.
No
problem
on
the
right
hand.
Side
is
your
account
number.
A
Let's
click
add
variable
and
enter
cf
underscore
account
underscore
id
in
all
in
upper
case,
let's
enter
the
account
id
that
we
just
copied
as
a
value
make
sure
the
variable
is
not
protected
at
this
time
we
don't
care
about
masking
for
the
accounted
id
at
least
now.
Let's
do
the
same
thing
for
the
api
token,
just
a
little
bit
more
setup
required
go
to
cloudflare
click
api
tokens.
A
Now
we
need
to
generate
one
first,
at
least,
let's
click
create
token
select
the
edit
cloudflare
workers
template
that
has
all
the
required
configuration
already
set
up
just
two
things.
We
need
to
do
here.
One
I'll
select,
my
own
account
for
the
account
resources
for
now
and
all
zones
for
the
zones.
A
A
These
variables
will
simply
be
present
inside
the
drop,
so
we
don't
need
to
set
anything
else
up
now
when
wrangler
the
cloudflare
api
runs
inside
the
build
container,
it
will
read
the
values
of
those
environment
variables
and
know
the
account
and
create
a
worker
or
update
it.
If
it
already
exists,
that's
really
neat
right.
A
A
A
A
I
think,
having
the
option
to
run
js
runtimes
on
cloudflare
workers
is
a
great
opportunity
to
offer
serverless
deployment
straight
from
the
gitlab
ui,
like
I
imagine,
gitlab,
detecting
that
this
repo
is
a
remix
app
and
offering
a
single
button
that
will
create
an
environment
which
it
runs
just
straight
away
with
the
adapter
and
everything,
but
that
does
need
a
lot
of
intricate
work,
most
of
it
very
specific
to
the
framework
that's
being
used.
A
I
think
that
we
can
do
very
easily
is
to
streamline
the
setup
process
for
users
that
have
or
want
to
create
their
own
cloudflare
account
just
like
we're
doing
it
with
google
cloud
and
what
tree
is
doing
in
that
space
like
we
can
use
the
cloudflare
api
to
set
up
an
account
and
obtain
the
api
token
so
that
the
user
doesn't
have
to
and
going
from
there.
We
then
can
keep
abstracting
the
various
steps
involved
to
set
up
that
app.