►
From YouTube: Developer Experience Office Hours: Introduction to JKube with Marc Nuri and Rohan Kumar
Description
Join OpenShift's Developer Experience experts for our regularly scheduled program filled with cloud native, Kubernetes, and OpenShift tips and tricks for developers.
A
Good
morning,
good
afternoon,
good
evening,
wherever
you're
hailing
from
welcome
to
another
edition
of
the
developer
experience
office
hours
here
on
openshift
tv,
I
am
chris
short
executive
producer
of
openshift
tv
and
I'm
joined
today
by
a
regular
face
ryan
jarvanin,
but
also
two
new
faces
mark
nuri
and
rohan
kumar
mark.
You
want
to
go
ahead
and
introduce
yourself
to
the
audience.
B
A
We're
happy
to
have
you
here,
so
you
know
this
is
new
to
me
I'll,
be
honest
with
you
all
so
ryan.
Would
you
like
to
introduce
yourself?
First
sorry,
I
forgot
totally
forgot.
D
No
problem
yeah
yeah
and
I'm
a
regular
on
the
channel
so
hopefully
say
hello
in
chat.
If
you've
seen
me
before,
I'm
ryan
j
from
the
developer
advocate
team
openshift
developer
advocate
team.
I
have
had
the
chance
to
use
fabric
8
a
couple
times
in
the
past,
so
I'm
really
excited
to
see
how
things
have
evolved
with
this
j-cube
project
yeah,
as
am,
I
are
folks
in
chat
familiar
with
fabric
eight.
D
Hopefully
we
get
some
responses
in
there
from
the
past,
especially
if
you're
using
doing
kind
of
automation
around
java
projects.
Fabric
eight,
hopefully
is,
is
familiar
for
some
of
you
folks.
I'm
gonna
pull
up
the
chat
and
jump
in
there
with
you.
Folks.
If
you
have
any
questions
along
the
way
feel
free
to
throw
them
at
us
and
we'll
do
our
best
to
answer.
As
usual,.
A
B
Okay,
I
just
want
to
start
with
a
little
note.
Fabricate
was
a
huge
ecosystem
which
consisted
of
several
projects,
so
this
is
also
important
to
highlight.
J-Cube,
for
those
who
are
familiar
with
fabricate
youtube
is
the
successor
for
the
fabricate
maven
plugin.
Just
this
part,
okay,
so
most
of
the
fabricate
ecosystem
is
deprecated.
The
other
project
that
is
still
alive
is
the
kubernetes
client,
which
we
also
rohan,
and
I
maintain
and
yeah
these
are
well.
B
There
are
other
a
few
other
projects
that
are
still
alive,
but
these
are
the
two
that
we
that
we
handle.
So
what
we
are
going
to
show
today
is
more
the
part
or
the
the
new
version
of
what
the
fabricate
maven
plugin
used
to
be.
So
in
case
you
were
a
java
developer.
B
You
might
be
familiar
with
this
with
this
plugin,
which
is
something
that
you
would
add
to
your
project
in
order
to
to
make
it
compatible
with
the
with
the
with
the
cloud
drive
tool
to
be
able
to
deploy
your
application
to
coordinates
cluster.
So.
A
B
Yeah,
okay,
so
for
those
of
you
who
don't
know
what
fabricate
maven
plugin
was
or
in
case
you've
forgotten,
j
cube
is
this
successor
for
this,
and
what
it
basically
is
is
a
set
of
tools
and
plugins
that
will
allow
you
to
deploy
your
java
applications
into
kubernetes
or
all
pages
okay.
So
it
consists
of
three
components.
The
main
the
core
logic
is,
is
implemented
in
something
that
we
call
kit,
and
this
exposes
a
java
api
that
you
can
use
to
generate
your
container
images
or
your
cluster
configuration
manifests.
B
So
on
top
of
this
core
kit,
what
we
have
developed
are
two
maven
plugins,
the
first
one,
the
kubernetes
plugin
is
the
one
that
you
will
be
using.
If
you
are
using
a
vanilla
when
it
is
a
cluster
or
you
are
targeting
a
parentheses
cluster
and
you
can
use
this
to
generate
container
images
and
then
to
generate
the
cluster
configurations,
the
original
files
and
to
apply
them
to
the
cluster,
it
will
also
offer
other
things
like
generating
home
charts
and
so
on,
but
just
to
for
the
overview,
it's
it's
not
that
necessary.
B
Then,
on
top
of
this
kubernetes
movement
plugin,
we
have
the
openshift
movement
plugin,
which
is
more
specific
if
you
are
targeting
an
openshift
cluster.
So
in
this
case
the
default
build
strategy
will
be
s2i,
binary
builds.
So
this
is
what
will
be.
The
bills
will
be
performed
in
the
cluster
and
then
it
will
generate
more
openshift,
specific
configurations.
So,
for
example,
it
will
use
deployment
configs
or
it
will
generate
routes
and
so
on,
so
they
will
produce
general
configurations
which
are
more
specific
for
for
openshift.
B
So
the
way
this
works,
if
you
are
familiar
with
other
tools
such
as
dev
files
or
scaffolding,
or
so
on,
in
those
you
usually
configure
the
way
in
which
you
want
your
images
to
be
built
and
how
you
want
them
to
be
deployed,
you
provide
something
right
in
in
the
case
of
j-cube
or
the
kubernetes
made
on
plug-in
or
the
open
sheet
magnet
plug-in
it's
a
little
bit
different.
So
j-cube
is
smarter
in
a
way
and
in
this
case
the
first,
the
first
step
that
that
will
do
the
project.
B
Whenever
you
invoke
any
of
our
goals
is
analyze
your
project.
It
will
check
the
dependencies,
the
properties,
the
configurations
and
so
on,
and
it
will
do
this
to
detect,
which
frameworks
or
which
technologies
your
java
project
is
based
on.
According
to
these
inferred
configurations
or
input
variables,
it
will
generate
some
opinionated
defaults
and
it
will
generate
your
images
and
your
configurations
according
to
these
defaults
that
we
consider
are
the
best
for
that
application,
considering
the
framework
and
so
on,
so
for
very
simple
applications.
B
Just
by
adding
your
plugin
to
your
maven
palm
xml,
it
would
be
enough
to
to
deploy
that
application
into
into
the
cloud.
So,
of
course,
there
are
applications
which
have
higher
complexity
and
we
all
want
to
configure
more
specific
stuff
and
so
on,
and
then
we
have
options
to
configure
the
the
way
the
youtube
behaves.
So
you
can
provide
some
xml
configuration
in
order
to
overwrite
the
the
defaults
that
we
inferred
for
you
or
you
can
provide
even
small
fragments
of
your
cluster
configuration
monitors.
B
A
So
in
case
you're
watching
the
stream
chat,
there
is
a
developer
experience
feedback
survey.
Let
us
know
what
you
think
about
this
episode.
Let
us
know
what
you
want
to
see
in
the
future
as
well,
so
feel
free
to
hit
that,
while
we're
going
on
here
so
mark.
D
Shout
out
to
natalie
vinto
bluesman84
in
chat
he's
not
here
quite
yet
today
he
might
drop
in
a
little
bit
later,
depending
what
we'll
see,
but
thanks
again
to
natalie
vinto
for
helping
invite
our
guests
today
and
bring
this
topic
to
the
show.
So,
thanks
again,
let
us
know,
via
that
survey
link.
If
you
have
topics
you'd
like
to
see
nice.
D
B
D
No
problem
take
your
time.
Yeah,
it
looks
like
folks
from
the
audience
seem
to
be
vaguely
the
folks
that
are
chatting
at
least
sound,
like
they're,
somewhat
familiar
with
fabric
eight
and
and
definitely
with
java.
B
Okay,
so
I'm
not
sure
if
my
screen
is
already
yeah,
I
think
yeah
you're
good
yeah,
okay,
and
so
we
are
usually
when
we
are
demoing
or
in
other
conferences
talks
and
so
when
we
are
usually
showing
the
inner
loop,
so
how
a
developer
interacts
with
openshift
or
kubernetes
by
using
j-cube,
and
today
we
wanted
to
show
something
different,
because
in
most
cases
j-cube
is
something
that
you
want
to
use
in
the
outer
loop
too.
B
Add
j-cube
push
an
image
into
quay
into
a
registry
and
then
deploy
this
image
into
into
the
developer,
sandbox
cluster,
that
red
hat
provides
for
developers
all
of
these
using
a
github
actions,
workflow
so
yeah,
I
don't
know
if
it's
clear
so
far.
Okay,.
B
Okay,
so
we
you
will
see
today
with
github
actions
with
with
a
github
workflow.
It
will
be
more
or
less
the
same
with
jenkins.
Basically
you
would
I
mean
when,
when
we
finish
the
pipeline,
you
will
see
that
it's
something
really
really
straightforward
and
it
easily
portable
to
any
other
platform
like
circle,
ci,
tecton
jenkins,
whatever
okay.
B
So
I'm
going
to
start
with
this
repository,
which
is
now
empty,
okay,
and
the
only
things
that
I
have
are
four
secrets
that
will
be
used
in
the
pipeline
in
order
to
be
able
to
both
deploy
into
quay.
These
are
some
credentials
for
way,
and
this
is
the
token
for
the
for
the
sandbox.
Okay
got
it
so
first
step.
B
So
if
you
want
to
bootstrap
a
quercus
application,
easiest
way
you
go
into
code.workus.org
and
you
add
whatever
dependencies
you
want
in
this
case,
I'm
going
to
add
rest
easy
and
you
click
on
download
a
zip
and
there
you
go.
You
have
a
bootstrap
application
for
you,
so
this
is
my
id
I'm
going
to
unzip
this
here.
B
A
By
the
way
audience,
if
you
cannot
read
something
on
screen,
please
let
us
know
we
can
always
tweak
things.
A
B
B
When
you
would
strap
the
quercus
project,
the
first
thing
that
you
might
notice
is
that
it
creates
this
docker
directory
with
some
docker
files-
lots
of
stuff
here
both
for
native
and
for
jvm
mode.
So
the
good
thing
with
j-cube
is
that
we
can
go
ahead
and
remove
this
not
needed.
B
Okay,
let
me
do
my
notes.
I
don't
want
to
miss
anything.
Okay,
so
also
the
bootstrap
project
contains
a
test
which
tests
the
end
point.
I'm
going
to
remove
this
because
I'm
going
to
change
the
the
end
point
a
little
bit
so
in
order
to
to
speed
things
up,
I'm
going
to
remove
the
tests,
but
please
never
never
remove
your
tests.
B
E
D
Okay,
I
was
kind
of
joking
that
you'd
have
to
jump
on
right
now
to
be
honest,
but
if
you
have
something
ready
to
go,
that's
that's
super
cool.
C
B
C
C
Have
that
caucus
project
bootstrap
that
mark
was
bootstrapping
so
I'll
just
try
to
open
it
up
with
my
intellij.
C
C
C
A
C
Yeah
yeah,
he
has
dark
mood,
but
I
usually
keep
the
mood
to
light
more
for
presentations
yeah,
since
it's
a
bit
easier
to
see
anyway.
So
so
this
is
a
standard,
quarkus
application,
and
so,
as
you
can
see,
mark
would
strap
the
project
and
it
bootstrap
the
standard
caucus
project
with
all
these
standard
dependencies.
So
very
basic-
and
it
has
this
simple
endpoint
of
hello
and
where
we
are
simply
running
openshift,
hello,
openshift.tv.
C
C
C
C
Okay,
sure
all
right,
so
I
just
launched
I'm
in
caucus
dev
and
I
was
able
to
see
the
application
running
locally
and
our
end.
Endpoint
should
also
be
doing
just
fine,
hello,
openshift.tv,
so
yeah,
so
we
have
the
application
running
locally
and
as
a
java
developer.
This
is
the
thing
that
we
are
all
familiar
with.
We
are,
we
are
all
familiar
with
tweaking
our
code
and
deploying
it
locally
onto
our
local
machines,
but
now
we
want
to
deploy
this
same
application
to
kubernetes
and
here
for
communities.
C
Usually
java
developers
have
looking
when
they
are
testing
their
applications
on
top
of
cognitives.
They
usually
have
some
local
cognitive
clusters
running
where
they
can
play
with
their
application
and
right
now,
I'm
using
minicube
for
that
and
my
mini
cube
seems
to
be
running
so
first
I'll
start
with
containerizing
this
java
application
into
a
into
an
container
image
and
pushing
it
to
some
container
registry.
C
So
if
I
would
have
been
not
using
jq,
I
would
have
to
write
a
docker
file
first
and
then
run
the
docker
commands
like
talker.
Build
docker
push
to
do
that,
but
when
I'm
using
j
cube,
I
only
need
to
add
this
plugin,
so
I
have
already
added
it
just
to
save
time.
So,
in
order
to
use
j
cube,
you
just
have
to
install
a
simple
plugin
in
your
pom.xml.
C
So
just
like
any
other
movement
plugin,
you
are
just
adding
another
adjuster,
the
main
plugin
to
your
project,
which
deals
with
the
kubernetes
operations.
So
once
this
plug-in
is
added,
we
can
go
ahead
and
start
using
it
so
I'll
first
start
with
containerizing
the
application
into
a
docker
image.
So,
first
for
that,
it's
just
easiest
running
this
code.
Ambient
gate
is
built
and
since
the
plugin
is
in
profile,
kubernetes
payment
profile,
so
I'll
just
specify
the
profile
here.
D
Cool-
and
this
is-
is
this
similar
to
the
like
mark
deleted
a
bunch
of
docker
stuff
out
of
his
repo.
C
C
Okay,
it
seems
to
be
running
just
fine
and
just
like
running
it
locally.
So
now
we
want
to
push
this
application
so
generally,
these
this
is
the
standard
workflow.
When
you're
working
with
communities
you
have
to
containerize
your
application.
You
have
to
push
it
to
some
registry
external
or
it
publicly,
just
internal
public
registry.
C
C
So
jq
build
the
image
with
some
default
name,
because
we
didn't
provide
any
kind
of
configuration
of
what
kind
of
name
we
want
to
have.
So
we
can
easily
change
we'll
first
try
to
change
it
and
we
would
need
to
change
this
to
aligning
with
align
it
with
standard
docker,
user,
docker
image
names
like
registry
username
and
then
name
of
the
repo
tag,
etc.
So
so,
in
order
to
do
that,
I'll
just
do
them
in
k,
display
and
I'll
provide
that
parameter
to
jq.
That
jcube
used
this
as
the
name
of
the
image.
C
C
C
C
So
this
would
configure
g
cube
to
generate
the
image,
but
with
this
this
name,
which
would
allow
us
to
push
the
image.
Oh
sorry,
I
forgot
to
specify
the
profile
and
it's
in
the
kubernetes
profile.
So
so
one
thing
that's
really
nice
with
jq
is
that
you
can
use
it
like
on
any
other,
even
plugin,
and
we
are
used
to
use
different
kind
of
profiles
when
we
are
building
projects.
So
you
can
have
you
are
building
your
application
in
standard
mode.
C
You
just
build
it
as
a
jar
when
you
can
have
a
kubernetes
profile
or
docker
profile
too,
so
to
have
your
image,
have
your
application,
packaged
as
a
jar
war
or
as
a
docker
image.
So,
okay,
so
the
belt
finished
and
seems
like
jq
created
the
image
for
us
with
the
standard
with
the
name
we
provided
so
I'll.
Just
try
to
push
it.
C
Again,
okay,
so
the
I
have
so
jq
allows
you
to
configure
the
registry
credentials
either
through
docker
login
or
through
your
maven
settings.xml
or
through
the
plugin
xml
configuration.
So
you
can
configure
the
so
I'm
pushing
to
some
registry
and
we
need
to
provide
credentials
for
that.
So
I
have
them
in
my
m2.xml
settings.xml.
C
Just
like
any
maven
repository,
you
provide
credentials
for
your
docker
project,
contain
registry
here
and
it's
going
to
work
fine,
so.
C
C
C
So
now
we
will
try
to
generate
the
kubernetes
manifests
if
you
are
not
using
jq,
you
would
need
to
use
write
the
manually,
but
j-cube
has
a
goal
for
that
which
is
having
caters
resource
and
it's
going
to
generate
opinionated
manifest
for
you,
and
I
would
need
to
specify
so.
Okay,
I
I
think
I'll.
I
can
just
add
it
here
in
my
bomb.xml,
the
property
for
the
image
name.
F
C
Okay,
I'll
just
try
and
make
here
test
resource
and
notice,
and
it
should
generate
the
resources
for
us.
So
it's.
C
Okay,
so,
as
you
can
see,
it's
generated
a
service
and
let
me
show
you
the
project
folder,
so,
as
you
can
see,
it
generated
the
target
classes,
it
generated
the
kubernetes
manifest
it
generated
a
an
open,
united
deployment
for
us,
with
some
additional
things,
additional
labels
which
can
easily
be
configured
and
it
generated
a
default
service
for
us.
C
So
all
this,
without
even
knowing
what
how
to
write
yaml
or
anything
so,
which
is
really
a
good
point
when
you're
getting
started
with
kubernetes
so
and
image,
say
name
also
seems
to
be
correct,
so
we
built
the
image
we
pushed
it
to
some
registry.
We
generated
manifest
as
well,
so
we
just
now
have
to
apply
it
to
kubernetes
cluster,
so
we
can
go
ahead
and
do
that
as
well.
So,
just
like
cube
ctrl
cube
cd
deploy.
We
have
this
code
called
communicator
supply,
which
would
just
sorry.
C
C
C
Hello:
okay,
an
application
seems
to
be
working,
fine
and
I'll,
just
exit
it
from
here
and
I'll
I'll
generate
the
resources
again.
So
we
by
default
jkeep,
generates
the
service
with
a
type
cluster
cluster
ip,
which
means
it's
only
accessible
from
within
the
cluster.
But
let's
change
it
for
on
the
demo
purpose.
C
C
Looks
like
it's
it's
not
for
now,
so
we
can
access
it
from
outside
cluster
as
well
just
check.
What's
the
so,
no
an
output
service
can
be
accessed
as
at
a
static
port
on
the
nodes
nodes
ip.
So
we
should
be
able
to
access
it
like
this
and.
C
And
yeah
now
our
application
is
running
inside
kubernetes
and
just
try
to
check
the
yellow,
and
it
also
seems
to
be
working
just
fine
all
right.
So
this
pretty
much
some
demo,
for
I
mean
the
first
part
of
the
demo.
I'm
not
sure
where
the
mark
wants
to
take
over
from
here
or
not.
B
Sorry
for
for
before,
I
am
having
trouble
with
electricity
this
afternoon.
It's
really
really
bad
timing.
Sorry,
for
that,
you.
B
Okay,
anyway,
I'm
not
sure
if,
if
my
connection
is
fine
or
my
videos
are.
D
B
D
C
B
D
Local,
you
want
to
do
those
builds
locally
and
get
that
local
test
feedback
before
you
make
your
commits
or
promote
your
changes
so
yeah
nice,
nice
job
on
the
local
loop,
definitely.
G
B
B
B
Yeah
so
now
we
can
configure
the
the
pom
and
there's
one
small
change
in
the
new
in
the
new
quarkus
version
and
by
default
it's
now
using
fast
jar
packaging,
but
j-cube
is
still
not
has.
This
still
doesn't
recognize
it.
So
we
are
going
to
configure
the
application
to
use
the
uber
jar
instead.
So
basically,
when
we
package
the
application,
we
should
see
here
the
the
runner,
the
runner
jar
yeah.
So
we
generate
this
runner.
B
B
And
for
the
build,
I'm
going
to
add
the
openshift
maven
plugin,
okay,
I
have
a
few
properties
that
I'm
going
to
describe
now
and
so,
as
you
saw
before,
rohan
configured
the
the
name
of
the
of
the
image.
B
This
is
important
because
we
are
going
to
publish
this
into
the
query
registers
of
so
it's
required
that
the
the
this
matches
with
my
with
my
registry
information,
also
since
I'm
going
to
use
the
openshift
method
plugin-
and
I
want
the
the
build
to
be
produced
locally,
because
I
want
to
push
it,
but
we
still
doesn't
support,
don't
support
the
pushing
from
the
opposite
minimum
plugin.
So
I'm
going
to
use
the
jib
strategy
which
does
support
it.
B
So
what
yeah
jacob
will
actually
use
jeep
in
order
to
build
the
container
image
and
then
yeah
since
we
are
going
to
deploy
to
the
dev
sandbox.
Usually
and
usually,
we
jacob
generates
a
deployment
config,
but
the
sandbox
is
based
on
openshift
4.5
or
six
or
seven.
I
don't.
G
B
Okay,
so
anyway,
what
we
want
is
to
generate
a
deployment
also
because
in
order
to
pull
the
image
from
jeep
it
will
from
quay
it
will
work
better.
So
basically,
this
setting
what
generates
a
deployment
instead
of
a
default
deployment
config,
since
we
are
working
with
a
snapshot
and
we
are
not
providing
versioning.
B
So
the
image
is
always
in
the
latest,
and
what
we
are
telling
jacob
to
do
here
is
that
whenever
we
apply
the
resources
that
it
should
recreate
them,
so
it
should
it
will
tear
down
whatever
it
created
before,
and
then
it
will
create
new
resources
for
that
and
again
for
the
in,
for
the
deployment
pool
policy,
we
are
going
to
use
always
again
because
we
are
using
this
latest
stack
and
we
are
going
to
overwrite
it
if
we,
this
could
be
like
the
maybe
the
the
continuously
delivery
pipeline
for
for
a
dev
environment.
B
So
we
are
using
this
latest
stack
and
we
want.
We
want
it
to
be
refreshed.
So,
even
if
the
image
exists
in
the
cluster
registry,
we
want
it
to
be
pulled
again.
So
this
is
the
other
setting
that
we
are
going
to
add.
Okay,
so-
and
this
is
my
query-
register
which
is
empty
and
now
I'm
going
to
start
by
creating
the
github
pipeline
so.
B
Okay,
so
the
name
of
the
pipeline,
the
pipeline-
and
we
want
this-
this
workflow-
to
trigger
whenever
we
push
to
the
main
branch
and
the
first
steps
would
be
I'm
going
to
remove
this
because,
I
didn't
add
the
wrapper
okay,
but
the
what
we
want
is.
This
is
what
probably
all
of
you
are
familiar
with.
So
basically,
what
you
want
is
to
build
the
project
and
check
that
everything
works
and
so
on
so.
B
B
So
some
of
the
files
that
were
added
with
the
quercus
bootstrap
I
deleted
them
by
accident,
and
now,
oh
boy
anyway,
I'm
going
to
just
use
this
feature
from
okay.
Anyway,
let's
see
this
is
not.
D
E
B
B
Okay,
so
this
is
usual
stuff
right
check
out
the
repository
set
up
java,
11
and
start
the
build
process
for
for
quarkus.
Hopefully
this
will
complete
once
it
downloads
the
dependency.
The
project
is
not
that
complex,
so
it
should
take
like
30
seconds.
B
B
Gener
work
in
a
vehicle
machine,
so
you
define
well
yeah.
You
define
here
the
the
base
image
where
this
job
is
going
to
run.
So
this
is
running
in
an
ubuntu
virtual
machine
on
github,
okay,
so
my
laptop
is
not
right.
Now,
it's
it's
free,
as
we
were
saying
before,
for
the
for
the
credentials
when
pushing
and
jcube
is
really
smart
and
it
will
try
to
infer
them
from
your
laptop.
B
So
if
you
have
settings
in
your
m2
directory
or
if
you
have
your
you
logged
in
through
docker
or
whatever
it
will
take
them
from
your
laptop.
But
since
we
are
running
this
in
in
in
a
github
action,
we
need
to
provide
these
credentials
one
of
the
ways
that
we
can
provide
them
are
by
using
these
these
variables.
Okay,
these
properties,
these
minimum
properties,
and
when
I
was
showing
you
the
repository,
I
also
showed
you
that
I
had
these
two
secrets
defined,
so
these
basically
are
defined
here.
B
B
We
should
see
another
action
being
triggered
now
same
steps
as
before
the
first
thing.
It
will
build
the
project
in
the
individual
machine,
that's
bootstrapped
here
and
then
you
can
see
the
new
step.
That's
already
here
push
image.
So
whenever
the
build
completes
again
30
seconds
or
so
so,
quarks
downloads
lots
of.
D
Pretty
fast
for
for
a
java
build,
I
was.
D
B
No,
but
it
works
well,
quite
well,
so
now
it's
in
the
push
step,
so
you
can
see
it's
it's
running
here
and
and
then
once
it
downloads
the
jacket
dependencies,
you
should
see
that
the
jeep
build
is
starting
and
then
that
the
push
step
is
also
so
it
completed
successfully.
B
We
now
move
here
you
can
see
that
the
that
the
image
was
pushed
and
just
a
moment
ago.
So
if
we
check
the
the
image
content,
we
should
see
that
the
zip
core
base
layer
and
then
the
layers
that
we
added
on
top
of
it.
Okay,
so
next
step,
we
want
to
deploy
it
into
the
developer.
Sandbox,
so
probably
you've
seen
this
a
lot
of
times
in
this
picture.
Tv
shows.
D
B
Okay,
so
it's
really
cool
because
we
can
get
to
try
openshift
as
developers,
and
this
is
my
cluster
right
now.
It's
it's
clean
and
one
other
of
one
other
tool
I
wanted
to
show
today
and
because
it
fits
really
well
with
what
we
are
showing
is
the
the
openshift,
the
oc
login
action
to
login
into
an
openshift
cluster
that
is
provided
by
my
red
hat.
So
this
is
a
github
action
and
I'm
going
to
add
it,
and
I
will
describe
it
so
basically,
next
step
authenticate
with
the
with
openshift.
B
We
need
to
provide
these
input
variables
this
server.
This
is
provided
as
a
secret
the
token.
So
this
is
the
one
that
you
would
get
when
you
go
here
and
copy
login
commands.
You
would
see
that
there
is
a
token
there
and
this
server,
so
you
would
get
those
values
and
you
can
set
them
in
the
github
repository
as
secrets,
as
we
saw
before,
with
the
push
with
the
quake
credentials,
and
I'm
also
going
to
to
set
the
the
name
space
because
by
default,
whenever
you
log
into
openshift
it
uses
the
code.
B
I'm
not
sure
why.
But
anyway,
I'm
going
to
set
the
name
space
too
and
finally,
I'm
going
to
set
to
add
the
the
invocation
to
to
j
cube.
So
what
we
saw
before
that
the
rohan
did
locally
and
in
this
case
generate
the
cluster
manifests
and
apply
them,
and
you
can
see
it's
a
very,
very
simple
pipeline,
but
it's
kind
of
powerful
because
it's
doing
a
lot
of
stuff
so
see.
I
try
to.
B
D
Does
any
of
these
build
results,
get
streamed
back
to
your
ide
or
or
is
there
any
back
flow
of
communication.
B
That's
more
up
to,
if
you
you
might
be
able
to
configure
more
stuff
with
the
github
actions
I
mean.
There's
the
integration
of
github
with
intellij
is
pretty
cool,
but
I
mean
there
are
tons
of
things
that
you
can
do
and
I'm
just
showcasing
how
like
a
very,
very
simple
pipeline,
but
it's
actually
kind
of
powerful
because
with
other
tools
in
order
to
do
this,
you
you
I
mean
you
would
require
a
lot
of.
B
B
A
B
B
D
Looking
through
chat
yeah
same
I
haven't
seen
any.
I
saw
one
earlier.
That's
asking
about
the
differences
between
the
openshift
plug-in
and
the
kubernetes
plug-in.
B
Okay,
so,
yes,
I
think
I
said
this
when
we
were
introducing
the
project
but
again
kubernetes
maven
plugin
is
the
one
you
want
to
use
if
you
are
targeting
any
kubernetes
clustered,
even
if
you
want
to
target
openshift,
but
if
you
want
to
use
the
more
fine-grained
configurations
or
specifics
for
openshift,
you
should
be
using
the
opposite:
mechan
plugin,
so
it
it
especially
for
the
inner
loop,
where
you
want
to
debug
and
do
all
of
this
stuff.
B
It
kind
of
makes
more
sense,
because
the
bills
will
run
in
the
openshift
cluster
and
lots
lots
of
things
that
are
more
specific
to
to
openshift.
However,
if
you
prefer
to
use
the
kubernetes
maven
plugin
to
target
an
openshift
cluster,
there's
no
problem
either
you
will
be.
You
will
stick
to
the
vanilla
resources
that
the
kubernetes
offers
right.
B
So
this
completed
again
and
basically
this
should
yeah.
So
if
I
I
refreshed-
and
we
can
see
the
new
the
new
message-
I'm
not
sure
if
we
have
time
but-
and
we
can
also
show
if
this
doing
this
for
native-
but
it
will
take
like
five
minutes
for
the
bit.
So
I'm
not
sure
if
we
have
time
for
that,
but
basically
adding
another
flag
will
enable
this
to
be
to
create
a
native
field
and
and
produce
a
native
image.
B
B
Okay,
so
odman
with
the
new
versions
should
be
supported
because,
basically,
if
you
well,
if
you
want
to
use
it
with
this,
you
should
install
the
podman
docker
tools,
so
it
will
basically
be
transparent.
B
If
not,
we
we
support
the
podman
by
configuring,
the
docker
host
environment
variable,
but
this
it
takes
more
work.
So
you
need
to
actually
start
the
potman
in
in
a
given
mode
and
then
configure
the
host
so
depending
a
little
bit
on
on
how
you
want
to
the
complexity
you
want,
if
you
just
install
the
docker,
I'm
not
sure
how
the
package
is
called,
but
if
you
install
this
docker
toolset,
it
should
work
for
you.
A
Question
in
chat
does
native
require
quark
is
like
is
quark
is
a
dependency.
I
don't
think
it
is
right.
B
No,
no!
No!
This
is
basically
I'm
I'm
using
parkour
to
showcase
how
this
works.
Okay,
but
you
can
use
spring.
You
can
use
even
micronut
now,
so
you
can
use
whatever.
Okay,
I'm
just
going
to
set
this
just
in
case.
We
have
time
so,
but
yeah
there
is
no.
There
is
no
no
need
to
add
to
half
have
parkours
j-cube
works
with
with
many
different
frameworks
spring
boot
wildfly.
B
B
I
would
like
to
highlight
that
we
don't
depend
on
any
cli
tools,
and
so
usually,
when
you
are
using
other
tools,
I
don't
know
any
other
alternatives
to
to
youtube
for
that
are
not
for
java.
You
need
to
install
something
right
so
for
scaffold.
You
need
to
style
it
to
install
their
cli
or
things
like
that
in
the
nice
thing
with
jqp
and
the
and
java
products
is
that
you
can
add
it
seamlessly
to
your
project
like
another
maven
plugin
and
you
don't
need
to
install
any
other
dependency.
B
D
Yeah,
I
really
like
this.
If
you
have
a
shared
release
pipeline
and
you
want
things
different
kind
of
core
components
hosted,
this
gives
you
a
great
way
to
kind
of
showcase
that
and
have
certain
shared
assets
beyond,
in
this
case,
posted
on
play.
You
could
also
swap
in
docker
hub
if
you
wanted
to.
We
had
two
credentials
to
get
into
the
play
environment,
but
there
could
be
probably
docker
hub
credentials
if
you
wanted
to
go
that
route
right.
B
D
G
B
Have
actions
are
the
like
big
plugins
for
the
for
the
github
workflow
execution,
so
it's
the
way
that
you
can
add
functionality
to
to
this
workflows.
But
if
you,
if
we
review
the
the
pipeline
here,
I
mean
this
can
be
a
build
step
in
any
other
ci
environment
jenkins,
travis
circle,
anything
and
it's
very
easily
ported.
So
you
just
need
to
run
a
few
maven
commands.
B
This
is
not,
but
obviously
you
could
use
oc,
login
or
whatever,
or
you
could
configure
the
openshift
credentials
in
in
our
using
our
plugin,
and
I
wanted
I
used
this
because
I
wanted
to
showcase
this
other
tool
and
how
well
it
integrates.
But
the
pipeline
is
really
simple
also
if
we
check
what
we
configured
for
jacob.
As
we
said
before,
jacob
infers
almost
anything,
I
I
the
things
we
configured
were
more
related
to
this
being
able
to
reload
the
latest
tag
in
the
cluster
and
things
like
that,
but
nothing
specific
for
the
application.
B
So
you
can
see
that
it's
really
really
easily
configurable.
So,
okay,
so
I
triggered
a
native
build
just
in
case.
We
might
have
time
to
see
how
this
pans
out,
but
basically
to
make
it
native-
I
just
I
just
added
a
profile
and
and
flag
for
yearcube
and
that's
it
and
it
will
switch
to
to
native.
So
that's
that's
kind
of
cool
too
nice.
A
D
D
One
of
the
things
I
like
from
doing
a
photo
push
is
the
build
results,
are
streamed
back
to
your
command
line
and,
and
you
can
or
you
can
tail
a
log
of
the
build-
and
I
know
it's
totally
available
in
github,
which
is
even
nicer
because
then,
in
a
way,
if
I
had
a
team
of
folks
that
I
wanted
to
share
those
results
with
this
is
maybe
a
more
centralized
kind
of
hosted
approach
for
raising
visibility
on
on
some
kind
of
shared
assets
that
you
want
to
make
sure
everyone
has
access
to
so
for
more
advanced
pipelines.
A
D
D
A
Yeah,
thank
you
to
our
guests.
Thank
you
audience
for
watching
we're
going
to
be
talking
about
a
brand
new
project
called
sig
store
up
next
on
the
openshift
commons
hour
with
karina,
so
look
forward
to
that
six
store
is
gonna,
make
signing
images
and
signing
things
in
general,
a
lot
easier
in
life,
so
this
will
be
a
great
show
coming
up.
So
thank
you
mark.
Thank
you
rohan.
I
I
really
appreciate
you
both
coming
on
and
seamlessly
accounting
for
your
power
issues
as
well.
Good
stuff.