►
From YouTube: GSoC 2020 - Coding Phase 2 demos, Part II (Jul 30, 2020)
Description
At this meeting GSoC students in the Jenkins will present their projects. Each student will do a quick project overview and a live demo of the current project status. This is the second part of the presentations.
Agenda:
* GSoC 2020 Introduction by Martin d'Anjou
* Custom Jenkins distribution build service by Sladyn Nunes
* Machine Learning Plugins for Data Science by Loghi Perinpanayagam
* Jenkins Windows Services: YAML Configuration Support by Buddhika Chathuranga
Full presentation abstracts and links can be found here: https://docs.google.com/document/d/1F9JVUEQyTL_JI8-_WPV-vMbuX94ZENjffsVlPOptPKE/edit#heading=h.ibikyjoj0fur
A
Are
we
live?
Yes?
Okay,
oh
hello,
everyone.
My
name
is
martin
danju
and
I'm
here
with
the
google
summer
of
code
participants
for
the
coding
phase,
2
part
2
demonstrations
and
so
welcome
everyone
all
right.
So
let's
go
through
a
quick
introduction
of
jenkins
and
google
summer
of
code,
then
we'll
have
project
demos
by
our
students
and
we'll
have
question
and
answer
session
okay.
So
this
is
our
fourth
year
in
google
summer
of
code
as
the
jenkins
organization.
A
This
year
we
had
about
20
project
ideas.
When
we
started,
we
were
able
to
accept
seven
students,
so
we
now
have
seven
live
projects.
We
have
two
to
four
mentors
per
project
this
year,
which
is
great.
I
don't.
I
don't
think
we
we
had
that
in
the
past
years
and
were
having
projects
from
both
jenkins
and
jenkins
x,
and
you
can
see
on
the
slide
down
on
the.
B
A
The
link
to
our
list
of
projects-
okay,
so
which
gsoc
organization
are
we?
We
are
the
jenkins
organization,
and
this
is
where
this
is
the
organization,
that's
hosting
the
jenkins
and
jenkins
x
projects.
The
jenkins
organization
operates
under
a
an
umbrella
organization,
called
the
cd
foundation
and
they
have
their
own
google
summer
of
code
projects
and
the
city
foundation.
I
think
I
believe
operates
under
the
linux
foundation.
Is
that
correct
or
leg.
A
B
A
A
The
different
projects
have
their
specific
channels
for
communicating
for
member
communication,
so
you're
welcome
to
join
them
and
participate
and
jenkins
x
uses
slack,
and
there
is
the
link
to
their
channel.
A
We
also
want
to
thank
the
subject
matter.
Experts
who,
from
from
from
get
that,
give
us
guidance
and
advice,
so
the
google
summer
of
code
and
jenkins
would
not
be
possible
with
everybody
participating
the
way
they
are
today.
So
thank
you.
Everyone
for
contributing.
A
All
right
so
yesterday
we
had
these
demos
and
today
we're
gonna
have
the
next
set
of
demos
and
they
are
the
following:
we're
going
to
start
with
custom
jenkins
distribution,
build
service
by
slobin
following
that
will
be
machine
learning
plugins
for
data
science
by
logee,
and
the
third
presentation
today
will
be
jenkins
windows
services
by
buddhica,
okay.
So
before
we
start,
I
should
pause
and
ask
if
there
are
questions
or
remarks
or
additional
things
that
people
on
the
call
would
like
to
add.
C
Just
thanks
again
to
all
contributors
this
year,
because,
as
you
will
see
today
and
this
you
may
have
seen
yesterday,
all
projects
evolve
really
well.
We
have
something
memorable
and
in
many
cases
already
available
to
drink
his
users,
so
yeah.
I
think
that
the
main
objective
for
driving
jenkins
evolution
and
facilitating
contributions,
strength
experiences.
C
A
A
B
Give
me
a
minute
yeah
that
sounds
good,
so
yeah,
hello,
everyone,
I'm
sladin
and
I'll
be
presenting
to
you
the
jenkins
custom
distribution
service
phase
two.
I
hope
everyone
are
doing
well,
okay.
So,
let's
begin
so
before
I
begin,
I
would
just
like
to
introduce
my
mentors.
We
are.
We
have
christian,
martin,
rick
and
parichy,
and
we
have
oleg
as
well
as
a
technical
advisor
on
the
project.
B
They
have
been
very
very
helpful
throughout
this
space
too.
So,
let's
begin
so.
Let
me
just
recap
about
what
the
project
is
about.
It's
about:
building
an
out
of
the
box,
usable
jenkins
distribution,
with
a
very,
very
simple
user
interface,
with
the
ability
that
the
community
can
share
configurations.
So
if
someone
develops
something
that
is
widely
used,
it
can
be
shared
and
we
also
try
to
maintain
easy
access
around
the
world.
B
So
we
try
to
make
the
service
available
everywhere,
because
usually
users
have
problems
with
accessing
certain
certain
plug,
maybe
the
plug-in
site
or
something
else.
So
this
service
would
be
available
self-hosted.
So
if
you
want
you
can
host
it
yourselves
and
take
all
the
advantages
that
the
the
custom
distribution
service
package
provides
yeah.
So
moving
on.
So
what's
new,
let's
talk
about
what
was
added
in
phase
two
and
it's
been
a
really
really
good
phase.
B
So
some
of
the
major
things
that
got
added
was
the
var
generation.
As
you
remember
the
last
time
we
had
the
phase
one
demos,
you
could
generate
the
wall,
but
you
did
not
have
the
ability
to
download
it.
So
we
have
added
that
ability.
Now
you
can
download
your
var
full
on
with
your
customizations
with
all
of
your
plugins
and
all
of
the.
If
you
want
to
build
it
off
a
base,
docker
image,
and
so
on
that
comes
with
water
generation.
B
You
can
now
filter
plugins,
so
you
you
don't
have
to
search
for
them.
If
these
plugins
are
part
of
the
most
used
plugins,
if
you
want
to
find
the
most
trending
plugins
so
on
and
so
forth,
we
the
service,
now
provides
an
ability
to
filter
them,
just
like
the
plug-in
side.
Does
okay
so
moving
on
the
ability
to
search
and
download
community
configurations?
One
of
the
core
ideas
of
the
custom
distribution
service
was
the
ability
to
be
able
to
download
and
search
your
configuration.
B
So
it's
in
so
it's
very
easy
for
the
community
to
now
to
now
sift
through
all
of
the
community
generated
configurations
and-
and
you
know,
download
them-
maybe
have
a
look
at
them,
modify
them
and
even
re-upload
them
in
some
cases.
So
that's
that's
been
added
as
an
additional
bonus
and
the
ability
to
share
community
configurations.
Obviously,
so
the
last
time
you
remember,
we
came
out
with
the
community
configurations
concept,
but
there
wasn't
any
there
wasn't
any
central
repository
to
host
it.
B
We
now
have
this
the
community
configurations,
repository
up
and
running
on
my
personal
account,
and
we
will
be
taking
necessary
steps
to
to
share
that
repository
under
the
jenkins
organization.
So
it's
a
one
place
one
place
area
to
share
configurations.
B
If
you
do
not
like
to
share
configurations
via
that
repository,
we
will
have
multi
repository
support.
So
if
you
have,
if
you
are
working
in
a
private
company-
and
you
have
your
community
configurations
on
a
specific
repository,
you
will
have
the
ability
to
configure
that
url
inside
our
environment
variable.
B
So
we
have
that
feature
supported
as
well.
Okay,
where
can
I
add
the
new
configurations,
so
you
can
have
the
new
configurations
on
the
link
given
below
it's
the
custom
distribution
service
community
configurations-
and
this
is
a
temporary
location
for
the
community
configurations
until
they
are
hosted
inside
the
jenkins
organization.
B
If
you,
you
can
still
add
configurations
to
this
page.
As
of
now
they
will
be
once
the
repository
is
hosted
under
the
jenkins
organization.
You
will
be
able
to
see
them
under
a
single
umbrella.
For
now
you
can
definitely
visit
this
this
this
page,
the
github
repository
once
they
come
out
of
my
demo.
I
I
might
be
able
to
show
you
to
show
you
the
github
repository
as
well.
So
I
think
the
next
one
is
the
demo
yeah
it's
time
for
enough
of
talking.
B
Let's
get
let's
get
straight
to
the
demo,
so
yeah.
So,
let's
get
out
of
my
screen.
B
Okay,
so,
as
you
remember
the
last
time
for
those
who
are
present
at
the
phase,
one
demonstration,
the
page
for
the
for
the
plugins
for
the
plugin
cards
remains
the
same.
The
additional
feature
that
we're
talking
about
here
is
is
the
ability
to
be
able
to
search
to
be
able
to
I'm
sorry,
filter,
plug-ins
based
on
their
trending,
based
on
their
title,
the
release
date
and
so
on
and
so
forth.
B
So
if
you
want
to
add
plugins
according
to
according
to
their
filters,
you
can
definitely
do
so
so
for
this
demo,
I
will
be
adding
a
couple
of
plugins
to
the
demonstration
to
the
to
the
package
and
we
will
be
able
to
have
a
look
at
how
the
custom
wire
package
or
the
service
functions
under
them.
So
it
doesn't
really
matter.
B
Okay,
I'm
sorry,
it
doesn't
really
matter
what
plugins
you're
adding
for
now,
since
it's
a
demo,
but
if
you
do
have
a
specific
configuration
say
for
a
particular
kubernetes
operator
or
so
on,
you
can
definitely
search
for
those
plugins,
so
I'll
be
adding
just
a
couple
of
plugins
from
different
places.
B
Yeah,
so
this
one
stays
the
same
as
the
last
time,
so
I'll
be
adding
the
title.
The
var
version
the
artifact
id.
So
these
are
just
pre
configuration
items
that
I've
already
selected.
B
You
can
add
your
docker
tag,
so
if
you
want
to
build
build
the
the
I'm
sorry
the
distribution
on
some
base
image,
you
can
do
that
as
well,
so
you
can
select
and
you
can
hit
generate
package
configuration
and
there
it
is
so
what
the
service
now
does
it's
much
faster
than
pulling
all
of
the
plugins
in
the
last
time
you
remember
it.
B
It
took
it,
took
more
than
30
40
seconds
to
pull
in
all
of
this
data
and
generate
the
configuration
it's
much
faster
because
of
the
plug-in
caching,
as
you
can
see
now
you
can.
You
have
whatever
plug-ins
I've
added
in
in
the
past
step,
so
we
added
the
cucumber
reports
and
the
ace
editor
and
you
can
see
them
under
under
plug-ins,
so
you
also
have
the
docker,
the
docker
tags
and
stuff,
along
with
the
bundles
and
whatever
description,
you've
added
so
yeah.
B
So
for
the
first
time
you
can
download
the
package
of
configuration
if
you
want
to
run,
as
is,
if
you
want
to
just
download
this,
you
can
hit
it
and
you
can
see
it's
downloaded
on
the
bottom
left
of
your
screen.
So
for
this
demo,
I've
actually
picked
out
a
configuration
that
generates.
You
know
in
a
lesser
time,
because
war
generation
is
a
time
consuming
process
and
I've
picked
out
a
configuration.
That
is,
that
is
much
faster
to
generate.
B
So
this
is
just
for
time
purposes
so
that
it,
the
generation,
does
not
take
more
than
you
know,
because
the
generation
sometimes
takes
a
couple
of
more
than
a
couple
of
minutes.
So
I
would
just
be
copying
a
single
one
here
and
I'll
be
explaining
to
you
what
this
is
so
the
reason
I've
chosen.
This
is,
first
of
all,
it
has
a
docker
base,
but
it
does
not
have
build
set
to
true,
so
we
won't
be
building
any
docker
image.
B
Otherwise,
the
wall
package
just
sets
out
to
go
ahead
and
download
all
of
the
the
images
and
some
of
those
images
can
be
200,
300
mb,
which
takes
a
lot
of
time.
Also,
the
other
another
thing
that
I've
added
here
is:
we
do
not
have
a
configuration
as
code
setup.
So
if
you
would
like
in
the
future
to
have
configuration
as
code
the
feature
supported,
please
do
leave
feedback
in
our
feedback
channels
and
we
will
try
to
make
that
happen.
B
Okay,
so
now
moving
on
to
the
download
bar,
so
the
the
demo,
the
most
important
part
so
I'll,
be
showing
you
the
terminal
so
that
it
is
because
it's
a
self-hosted
service
and
you
might
be
able
to
you-
might
want
to
see
what's
happening.
If
at
all,
this
is
hosted
even
on
the
server
you,
you
should
be
able
to
see
it.
So
I've
hit
the
download
button
and.
B
That
was
okay,
so
yeah,
as
you
can
see,
you
will
have
the
plugins
downloaded
and
all
of
the
all
of
the
custom
bar
packager
services
that
are
being
running
in
the
background,
so
yeah
as
you
can
see,
you
have
the
build
successful
and
once
that
is
done,
the
custom
wire
packages
just
returns.
The
returns
the
wire
back
to
us
and
you
can
download
that
as
well,
so
yeah,
so
just
give
it
a
couple
of
minutes
yeah
there.
It
is
so
in
the
bottom
left
of
the
screen.
B
As
you
can
see,
we
have
the
wi-fi
generated.
You
can
now
run
this
command
as
your
normal
jenkins
watch,
so
you
can
run
the
java
jar
drink
as
well
with
all
of
your
favorite
plugins
yeah.
This
was
downloaded
the
demo.
You
did
not
have
this
ability
the
last
time,
and
now
it's
been
added
to
the
customs
distribution
service.
So
the
one
of
the
most
major
milestones
for
this
entire
project
has
been
has
been
achieved,
which
is
which
is
great,
okay.
B
Moving
on
to
something
else
that
was
added,
let's
go
and
have
a
look
at
the
community
configurations.
Okay,
so
the
community
configuration
right
now
is
an
empty
place
because
there
are
in
community
configuration,
but
I
have
added
a
sample
so
in
the
previous
slide,
if
you
remember,
I,
I
said
that
you
can.
This
is
the
place
where
we
had
our.
Let
me
just
see
if
I
can
copy.
B
Yeah,
so
this
was
the
place
where
you
can.
We
can
see
all
of
our
configurations
live
added
by
the
community.
This
is
just
an
empty
repository
for
now,
so
you
have
the
sample
empty
configuration.
So
if
a
user
adds
a
configuration
here,
you
will
be
able
to
see
it
on
our
service.
B
So
for
now
it's
just
a
sam
sample,
empty
yml,
which
has
been
picked
up
from
rick's
repository.
So
what
the
service
does
is
once
you
point
it
to
your
the
repository
you
want,
it
will
just
go
ahead
and
fetch
it.
So,
as
you
can
see,
the
configuration
name
is
sample
empty.yml.
We
do
not
have
the
description
as
of
now,
because
we
do
not
have
support
for
the
readme
but
yeah.
If
that
is
a
question
that
you
want
answered,
yes,
we
will
be
having
a
description
later
on
yeah.
B
So
once
you
can
see
this,
you
can
now.
You
can
now
click
to
view
details.
If
you
click
to
view
details,
it
will
take
you
back
to
this
page.
You
now
have
the
yml
and
you
can
repeat
the
exact
same
features
that
I
repeated
for
for
generating
my
own
custom
package.
B
Server,
so
if,
if
there
is
a
very
popular
configuration
that
you
want
right
out
of
the
box,
you
can
just
view
it
have
it
senior
and
then
you
can
just
download
it
so
yeah,
okay,
because
we
don't
have
the
jenkins
version
specified
so
yeah
you'll
have
the
error
as
well
yeah,
so
that
that
was
it
for
the
community
configurations
page.
If
I
do
not
think
there
is
anything
else
that
is
left
to
be
shown,
but
yeah
that
was
that's.
B
That
was
it
the
three
major
features
of
the
ability
to
filter
plugins,
the
ability
to
download
the
var
file
and
the
ability
to
search
community
configurations,
as
well
as
create
an
open
pull
request
to
this
repository,
so
that
you
can
you
can
host
whatever
plugins
you
want,
is
an
additional
feature.
B
Yeah
apart
from
this
I've
also,
just
I
think,
shown
the
repository
yep.
That's
it.
I
think
that
that
was
it
yeah,
so
I
can
enter.
I
can
enter
the
presentation
mode
again
and
okay,
it
clicks
reloading,
just
give
it
a
second.
B
B
Okay,
yeah,
so
that
was
it
for
the
demo.
How
can
you
participate
so
we
have
our
communication
channels
on
github
the
jenkins
custom
distribution
service.
Also,
we
have
the
project
page,
so
you
can
click
on
these
urls
and
have
a
look
at
them
for
facilitation
of
feedback.
Okay,
what's
next
here!
This
is
something
important,
so
we
have
the
g
soft
phase
three
coming
up.
So
what
are
we
doing
in
phase
three
I'll?
Just
recap
in
a
minute
before
that
we
would
be
focusing
on
improving
the
user
experience
even
further.
B
So
as
we
reduced
the
time
to
fetch
plug-in,
we
would
be,
we
would
be
making
things
much
much
easier
for
the
user
so
that
you
know
what's
happening
on
the
screen,
for
example
in
download
a
var
file
or
when
you
download
a
package
or
service,
you
can
don't
kind
of
have
the
feedback
right
now
we
will
be
adding
that
in
the
next
phase
yeah,
one
of
the
major
ideas
we
were
exploring
is
the
idea
of
having
an
image
controller
inside
the
service,
a
sort
of
since
it's
a
generator
service.
B
We
were
exploring
the
idea
of
having
a
multi
a
multi-purpose
image,
controller
or
multi-purpose
image
generator
discussions
for
those
have
begun.
I
will
be
posting
up
an
email
in
the
mailing
list
for
users
to
to
have
a
look
and
facilitate
feedback
yeah,
but
that
was
some
of
the
major
stuff
that
we
were
looking
at
for
phase
three,
so
I'll
be
coming
out
of
presentation
mode
and
having
a
look
at
the
milestones
for
phase
three.
B
So
just
a
quick
recap
of
the
milestones
for
phase
three
yeah,
so
just
just
two
of
the
major
milestones
was
having
an
initial
version
released.
We
do
not
have
an
initial
version
released
as
of
now,
but
we
are
very,
very
close
to
that
that
and
unit
testing
for
all
features.
So
a
couple
of
features
have
unit
testing
remaining,
so
we
will
be
having
a
testing
plan,
a
testing
architecture
for
that
and
and
of
course,
the
image
controller
synergy.
B
So
these
are
the
three
major
milestones
that
we
will
be
exploring
for
for
phase
three
along
with
adding
adding
additional
features
like
maybe
you
improving
the
user
experiences
or
having
a
developer's
guide
yeah.
Apart
from
that,
I
guess
that
was
it
for
for
the
demo.
Let
me
just
have
a
look
if
I'm
missing
any
slides.
No,
I'm
not!
Okay,
okay,
yeah!
That's
about
it
from
from
the
demo
I'll
be
giving
the
mic
back
to
martin
and
we
can
move
on.
If
you
have
any
questions.
C
Me,
but
it
looks
really
great
and
now
it
really
operates,
so
there
is
no
stops
left.
So
it's
a
pleasure
to
see
how
it
works
in
real.
I
launched
it
a
couple
of
days
ago.
Well,
basically
following
guidance:
it
works
pretty
fine.
So
thanks
for
preparing
that-
and
hopefully
it
will
be
really
useful
for
those
who
want
to
customize
the
junkies
instances
thanks
sliding.
E
This
is
janis,
muchas,
I'm
one
of
the
mentors
and
I'm
really
excited
seeing
this
plugin,
because
I
see
a
lot
of
utility
in
the
space
that
I'm
working
in
where
we
want
to
build
custom
configurations,
for
example,
for
life
sciences
and
data
sciences
for
jenkins,
and
I
think
this
is
going
to
be
a
great
tool.
One
quick
question
is:
what
are
the
advantages
of
these
custom
configurations
versus
a
docker
image
with
jenkins
and
certain
plugins
embedded
in
there.
B
Yeah,
that's
a
that's
a
great
question.
Actually,
so
the
ability
to
have
custom
configurations
is
is
is
actually
so.
If
you
have
a
look
at
the
custom
war
packager,
it
doesn't
quite
actually
generate
as
of
now
docker
images,
but
I
think
that
was
on
the
roadmap
some
time
ago,
so
it
is
actually
similar,
but
the
way
the
custom
distribution
service
operates
it
does
it
takes.
It
picks
off
the
custom
configuration
of
a
yml,
so
you
can
have
that
entire
configuration
in
a
docker
file
as
well.
C
Well,
cool
actually,
custom
work
packager,
so
the
engine
under
the
hood
has
a
few
extra
features.
So,
for
example,
it
can
package
components
in
development
because
it
doesn't
just
install
them,
it
tells
provides
bills
facilities.
So,
for
example,
if
you
want
to
apply
a
custom
patch
which
is
submitted
a
pull
request,
or
if
you
want
to
provide
experiment
or
incremental
build,
you
can
do
it
right
away
with
custom
work
packages.
C
In
addition
to
that,
it
can
actually
package
not
only
plugins.
It
can
package
your
jks
configuration
groovy,
hooks
custom
system
properties,
additional
libraries
right
inside
the
war
file,
so
that
it
produces
a
portable
instance
for
the
for
docker
images.
Here
it
produces
pretty
much
the
same
image
as
you
could
produce
with
existing
official
docker
image,
but
yeah
the
real
value
there
that
it
can
package
multiple
formats
and
it
can
utilize
janky's
features
to
really
produce
this
artifacts,
which
is
not
possible
with
standard
tools,
looks
great.
Thank.
F
Yeah
right,
I
was
about
to
jump
in
and
say
it's
been.
This
has
been
a
good
mile,
her
good
face
too,
and
it
looks
really
awesome.
I
love
seeing
all
the
like
the
ability
to
be
able
to
download
and
everything
kind
of
grouped
together
and
the
searching
and
the
community
configurations
it.
The
project
looks
really
great,
so
good
job
over
this
phase.
A
G
Yeah,
thank
you.
Martin
not
share
my
screen.
C
G
That's
perfect
so
welcome
to
my
presentation
for
coding
phase
two.
So
let's
move
the
slides,
so
a
little
introduction
about
me,
I
have.
I
was
selected
for
gsoc
as
a
student
for
machine
learning
plugin
in
jenkins
and
I'm
doing
a
computer
science
and
engineering
in
the
university
of
murder.
G
So
before
we
go
into
the
phase,
2
features
for
the
summary
of
phase
one.
The
first
thing
is:
we
have
done
a
implementation
on
configuring
connection
between
a
jenkins
instance
to
a
ipython
kernel.
Next,
we
have
added
the
features
to
copy
the
notebooks
jupiter
number.
E
C
G
Yeah,
thank
you
yeah.
Thank
you
yeah,
so
so
yeah,
the
summary
of
phase
one.
We
have
done
some
features
like
the
first
one
is
we.
We
have
done
work
on
configuring
connections
between
jenkins
instance
and
python
kernel,
and
next
we
have
done
a
feature
that
can
able
to
copy
jupiter
notebooks
to
the
workspace
from
the
local
system,
and
then
a
nice
feature
that
that
that
that
have
their
ability
to
convert
notebooks
to
python
and
json.
G
In
the
midst
of
json,
zeppelin
used
json
type
of
different
type
of
notebooks,
so
we
can
also
able
to
convert
your
notebook
to
json.
Also
so
for
the
main
features
we
have
done,
we
will
we,
we
were
able
to
run
jupyter
notebooks
and
python
script
or
a
json
script,
so
these
are
the
abstract
of
my
phase
one.
G
So
these
are
some
screenshots
from
my
phase,
one
which
is
of
base
one
recording
phase
one.
So
here
it
is
this.
This
screenshot
shows
how
we
configure
a
kernel
in
the
jenkins,
and
you
can
see
here.
This
is
how
we
are
adding
jupiter
notebooks
from
the
workspace
and
how
we
are
converting
these
notebooks
to
others.
Type
of
file
formats,
so
I
will
explain-
and
I
will
show
a
very
detailed
in
the
demo,
so
this
one
is
our
main
ipython
builder.
G
We
can
you
either
we
can
use
a
direct
code
passing
or
a
file
password.
So
here
we
pass
the
notebooks.
So
next
we
move
on
to
the
what
what
we
have
done
in
the
phase
two.
So
as
python
2
is
duplicated
from
2020,
we
had
to
upgrade
our
plugins
to
support
python
3
and
we
we
extended
the
plugin
to
support
master
agent
communication
because
jenkins
has
the
very
very,
very
interesting
features
to
communicate
with
his
agent
and
master.
G
So
we
have
to
leverage
that
feature
to
extend
our
plugin
and
we
have
released
a
very
descriptive
documentation
on
our
gta
repository
on
readme,
so
we
we
also
have
tested
the
plugin
with
virtual
environments,
conda
and
windows
environments.
So
apart
from
this,
there
are
lots
of
bugs
were
fixed
during
this
coding
phase
too.
G
So
we
are
like.
We
have
already
started
the
phase
three,
because
we
so
there
are
there
are
some
of
features
has
been
added
to
the
github
repository.
So
this
is
the
progress
for
this
g-shock
phase
two
and
before
we
go
into
the
demo,
I
I
would
like
to
explain
a
little
bit
what
we,
what
is
going
on
the
demo.
G
So
in
the
master
we
have
two
agents,
so
we
can
create
agents
that
will
be
separate
the
processors
from
the
master.
So
in
the
in
the
gpu
agent
we
are
executing
our
github
code.
We
are,
we
are
getting
the
we
are
getting
the
source
code
from
the
github
and
we
are
executing
that
code
and
if
you
want,
if
we
want
to
get
the
data
sets
from
the
other
storage,
we
can
do
that
from
the
gpu
agent.
We
that
we
gonna
create
in
the
demo.
G
So
this
is
the
best
practice
to
to
separate
the
process
from
the
master
when
you're
doing
a
machine,
learning,
machine
learning,
workflow,
so
yeah.
G
So
before
we
going
to
demo,
it
is
more
like
than
a
tutorial
like
how
our
users
can
get
get
help
get
get
to
run
our
plugin
with
a
docker
agent.
So
I'm
gonna
use
a
pre-build
ml
docker
agent.
It
is
in
my
docker
hub
repository.
I
will
show
how
to
build
your
own
custom
docker
agent,
and
then
we
will
configure
the
agent.
Then
we
will
get
the
code
from
the
cheat.
Finally,
we
I
will
show
the
outputs
from
the
notebook
so
yeah.
G
So,
first
of
all,
I
have
to
configure
my
ipython
server
so
in
the
configuring
system.
I
would
like
to
add
a
server
here,
so
we
can
search
for
server
configurations
so
yeah.
I
have
already
added
one
server.
So
if
you
want
to
add
a
new
server
here,
you
can
just
name
this
as
a
test
server.
G
If
you
want
to
add
the
server
ip
address
like.
If
you
want
to
run
the
job
in
an
agent
I'd
say
you
have
to
give
the
ip
address
of
the
docker
container
or
you
can
just
simply
do
a
local
host
because
it's
running
on
on
the
agent.
G
So,
okay,
I'm
sorry
so
for
the
launch
timer
it's
five
seconds
and
I'm
setting
the
max
research
reserve
microservice
to
30,
because
it
means
how
many,
how
many
lines
can
I
get
from
the
ipython
kernel
returned
when
a
notebook
executed
in
the
ipython
kernel?
So
I'm
gonna
save
this
configurations
here.
G
So
next
we
have
to
create
a
agent.
I
have
already
created
one.
I
have
created
a
agent
gpu
because
we
we
we
are
going
to
test
a
github
repository
that
has
a
jupyter
notebook.
Can
you
see
my
repository.
A
F
A
G
Yeah,
thank
you.
So
here
we
have
a
notebook,
so
we
are
going
to
run
this
notebook
from
our
jenkins
agent.
So
for
that
we
have
to
install
some
other
dependencies
like
numpy
skype
and
a
scalar,
so
it
takes
time
to
install
in
agent.
So
I
have
already.
I
have
already.
G
Okay,
I
have
already
installed
in
the
gpu
agent,
but
I
would
like
to
I
would
like
to
share
how
to
create
a
agent
here.
So
it's
a
quick
process,
so
you
can
try
new
node.
You
can
just
agent
gpu,
it's
a
permit
manager.
G
So
here,
as
we
said,
the
name
is
agmtpu
and
you
can
use
this
help
buttons
and
it
shows
what
the
parameters
refers
to.
So
you
can
use
that
and
for
this
remote
route
I
will
add
a
home
kings
and
for
the
label
label
means,
if
you
want
to.
If
you
want
to
point
the
agent
in
the
job
decrease
description,
you
have
to
add
some
labels
for
the
agent,
so
I
just
adding
tpu.
G
I
have
already
added
a
label
to
my
agent
gpu,
so
we
can
get
the
get
both
labels
in
the
job
description.
I
will
show
you
in
the
description,
so
here
we
have
two
options.
So
if
you
install
the
ssh
plugin,
it
will
show
a
three
options
so
for
this
demo
I
will
show
to
launch
how
to
launch
through
the
command
line.
G
So
here
I'm
I'm
using
my
prebuilt
docker
agent.
So
here
I'm
initiating
my
agent,
I
have
built
in
my
in
my
local
machines.
If
you
want
to.
If
you
want
to
build
your
custom
images,
you
can
easily
go
to
our
repository.
I
will
show
this.
G
So
you
can
go
to
jenkins
machine
learning,
plugin
and
you
we
have
the
dockerfiles
and
the
requirement.text.
G
If
you
want
to
install
other
python
dependencies,
you
can
add
behind
these
dependencies
and
you
can
build
the
plugin
as
you
want.
So
in
this
demo
I
am
going
to
use
my
agent.
It
has
the
basic
three
three
dependencies:
jupiter
gprco
and
a
protobuf.
So
so
we're
gonna
start
this
agent.
G
G
So
here
you
can
select
whatever
server
you
have
configured
in
the
global
configurations,
so
I'm
gonna
select
this
one
and
for
the
cheat
repository
I'm
gonna
get
my
that
sample
repository
from
my
github
repository.
G
So
here
I'm
pasting
that
yeah
so
and
I
forgot
to
say
the
agent.
So
here
you
can
search
for
the
labels.
You
have
specified
in
the
configuration
of
agents,
so
I'm
going
to
use
the
gpu
agent.
G
So
if
you
want
to,
if
you
want
to
convert
this
training,
training.train
model.I
pi
nb,
this
is
a
notebook.
If
you
want
to
convert
to
this
to
a
python,
it's
possible
with
these
features,
you
can
add
a
train
model,
dot
i5.
G
So
finally,
we
have
to
add
ipython
builder
here.
So
if
you
want
to
directly
run
the
code
like
like
python
scripts
like
print
yeah,
or
something
like
that,
if
you
want
to
do
that,
you
can
do
here,
but
in
this
demo
we
will,
I
will
show
to
run
how
to
run
this
train
dot
pi.
G
So
here
I'm
adding
this
standard
pi.
So
if
you
want
to,
if
you
want
to
install
more
dependencies
here,
you
can
just
add
a
shell
script
and
you
can
install
pipe
install
dependency.
So
that's
a
common
case
in
the
machine
learning
field.
So
we
are
all
set
with
this
configurations.
G
I'm
gonna
show
you
here
that
the
system
is
running
in
the
engine
and
here
so
yeah,
so
we
can
see
the
train
model.
I
can
be
copied
and
converted
to
train
that
pilot,
so
we
can
see
other
parameters
here,
so
the
model
has
has
saved
this
model
in
our
local
in
the
in
the
agent
in
the
agent's
file
system.
G
G
G
Maybe
so,
in
the
upcoming
features
we
have,
we
are
exploring
about
extracting
core
segments
from
the
notebook
with
the
user,
annotations
and
and
and
we
have
already
merged
this
feature
with
our
with
our
master,
and
we
have
to
also
we
have
to
we
have.
G
We
are
expected
to
do
this,
generating
json
with
the
results
and
also
we
are
expecting
to
test
our
plugins,
and
there
are
a
few
tests
have
been
right,
have
been
written
to
this
repository,
so
we
will
be
focusing
in
the
next
phase
three,
so
yeah,
that's
all
with
my
phase
two,
and
I
will.
I
would
like
to
thank
my
mentors
bruno
ironies
and
shivai
for
the
huge
support,
and
also
thanks
for
the
organs
to
this
opportunity
to
help
change
its
community.
C
For
me,
if
there
is
no
other
questions,
I
wanted
to
ask
about
whether
you
considered
using
machine
learning
plugin
for
analyzing
data
produced
by
jenkins,
for
example,
guild
reports
test
results,
because
since
we
have
access
to
jupiter
and
also
to
our
participant,
we
could
actually
do
a
lot
to
create
self-analysis.
Features
to
jenkins.
G
C
G
About
analyzing
this,
the
data
science
field.
C
Well,
we
can
just
take
one
example,
so
there
is
no
filler
analyzer
plugin
in
jenkins,
but
it
has
a
lot
of
limitations,
but
at
the
same
time,
for
example,
if
you
use
a
machine
donate
plugin,
if
you're
able
to
just
analyze,
build
logs,
find
some
correlations
etc,
we
could
actually
use
this
plugin
in
order
to
improve
analysis
of
jenkins
builds
so.
C
So
it
could
be
an
interesting
prototype,
no
yeah.
I
understand
that
it's
not
the
key
use
case
and
that
machine
learning
carry
is
huge,
so
we
shouldn't
be
limited
just
by
jenkins
use
cases.
It
could
be
helpful
for
common
junkies
users,
because
jenkins
itself
is
a
source
of
big
data
for
sure.
E
Well,
like
that's
a
that's
a
really
good
idea,
it's
not
really
something
that
we
had
thought
about,
but
this
gives
us
some
some
new
ideas
on
how
to
sort
of
expand
the
utility.
Even
to
you
know
the
devops
operations
right.
D
I've
got
a
specific
case
on
ci.jenkins.io
if
you're
interested
in
exploring
it
specifically
where,
as
an
administrator
of
a
system
that
runs
thousands
of
builds
on
on
a
thousand
plus
plug-ins,
finding
failures
that
are
systematic
is
really
difficult.
So
machine
learning
feels
like
a
great
way
to
help
me
be
more
effective.
A
great
idea.
Thank
you.
Logi.
A
H
Okay,
so
welcome
everyone
to
my
presentation
on
gsr
2020
kodi
phase
2,
which
is
on
jenkins
industry
strapper,
yama
computation
support.
So
first
I
will
introduce
myself
in
brief,
so
I
am
budhi
chatrang
and
I
am
from
sri
lanka.
I
am
undergraduate
of
module
university
and
this
is
a
first
time
of
google
summer
of
code
mine
and
I
have
a
little
bit
of
experience
in
web
development
in
england.
H
Yeah.
That's
my
background.
Okay,
let's
move
into
the
windows
service
wrapper.
So
if
we
talk
about
windows,
service
wrapper
so
in
the
sales
wrapper
is
a
tool
which
previously
I
developed
to
run
jenkins
as
a
service
windows
machine.
So
that
feature
is
bundled
into
the
jenkins
co
and
this
window,
so
it's
wrapper
tool
is
configured
by
xml
file,
so
that
was
the
current
account,
which
was
it
is
configured
by
an
xml
file.
H
So
you
can
find
the
project
repository
by
the
following
link,
and
so,
if
we
talk
about
the
current
configuration,
so
I
mentioned
that
configured
by
xml
file
and
the
xml
file
name
should
be
the
same
to
the
executable
file
name
and
I
should
be
located
in
the
same
directory
where
the
windows
service
of
executable
is
located
and
the
problem
in
one
of
the
problem.
H
In
the
current
implementation,
we
can't
specify
the
configuration
file
from
the
command
from
explicitly,
and
so
we
have
to
use
the
same
name
and
we
have
to
locate
it
in
the
same
location
and
index.
Let's
come
to
xml
configuration,
there's
no
schema
validation
and
there
are
a
limited
number
of
validations
as
well.
So
you
can
find
the
xml
configuration
device
in
following
link.
H
So
this
is
how
a
sample
xml
computation
file,
looks
like
yeah,
it's
great,
but
it's
kind
of
less
human
readable-
and
I
know
xml
is
great
for
configuration
management.
But
but
at
the
moment
you
know
it's
a
little
bit
of
less
human
readable.
So
what
we
are
going
to
do
in
this
project
is
we
are
moving
into
configurations
as
a
yaml
file.
So
that's
what
I
am
going
to
do
in
this
use
of
2012
presentation
so
why
we
are
moving
into
yaml
configuration.
H
So
we
all
know
yaml
is
less
verbose
and
much
more
human
readable
than
xml
or
json,
and
also
ml
is
lightweight
than
xml
and
json.
You
know
which
are
not
using
extra
delimiters
like
records
and
and
also
you
know.
Yaml
is
becoming
more
popular
among
configuration
management
tools,
so
it's
obviously
very
reasonable
to
move
into
yammer
competition
so
in
the
future
developers
can
easily
configure
windows
service
wrapper
with
camera.
So
this
is
how
yaml
configuration
file
looks
like
you
know.
You
can
see.
H
Obviously
it's
a
much
more
human
readable
than
xml
version,
so
yeah!
Okay,
if
you
talk
about
the
project
scope,
obviously
I
will
add
the
younger
confidence
about
for
the
windows
service
wrapper
and,
as
I
mentioned
before,
you
know,
there's
no.
We
can't
at
the
at
the
moment.
We
can't
specify
the
configuration
file
from
the
command
line
command
line
interface
explicitly
or
when
there
is
a
schema
validation.
We
can't
skip
the
schema
validation
at
the
moment
and
we
want
a
kind
of
structured
way
to
do
that.
H
So
if
your
new
serial
levels,
not
in
my
first
plan
but
when
we
are
come
up
with
the
project-
and
we
identified
that
it's
a
kind
of
needed
feature
and
obvious
xma
schema
validation,
feature
will
be
added
and
ml
schema
validation
feature
will
be
added.
H
So
if
you
talk
about
yaml
configuration
support,
so
these
are
the
tasks
I'm
going
to
do
under
the
ml
configuration
support,
so
yaml
object
mapping
it's
already
merged
with
master
and
we
are
using
yamal.net.
H
Mapping
yaml
file
into
object
drop
and
we
have
to
validate
configurations
only
startup.
It's
because
we
got
the
current
implementation.
If
we
consider
the
current
implementation,
the
configuration
are
not
validated
at
this
startup,
but
what
we
are
going
to
do
in
this
step
is
and
the
current
implementation
computers
are
validated
on
demand
and
what
we
are
going
to
do
in
this
project
is.
H
We
will
variate
configurations
with
startups,
so
we
will
have
breaks
in
one
time
because
of
invalid
configurations,
and
also
we
will
not
have
to
observate
the
xml
support
and
we
will.
We
will
have
both
xmln
support
parallely.
So
definitely
we
have
to
extend
them.
H
Welcome
to
the
sort
of
windows
wrapper
to
support
both
xml
and
mln,
it's
having
already
merged,
and
if
you
talk
about
that
and
in
windows,
side
stopper,
there
are
extensions
and
which
are
used
for
various
purposes,
and
currently
there
are
two
internal
extensions,
such
as
a
runaway
process,
killer
and
think
share
directory
mapper.
So
also
these
extensions
are
configure.
H
We
have
to
provide
configurations
for
these
extensions
as
well,
so
we
we
will
provide
those
configuration
from
the
communication
file
that
we
are
used
to
provide
configuration
for
windows
service
operation.
H
H
So
if
you
talk
about
key
updates
in
yaml
configuration
support
in
phase
2,
as
I
mentioned,
I
extend
the
windows
search
for
to
support
both
xml
and
ml
configurations.
You
can
find
the
implementation
in
the
given
link
and
yaml
support.
For
extension.
I
just
started
it
it's
kind
of
challenging.
Actually
I
mean
those
extensions
need
different
structure
of
configuration,
so
we
can't
actually
provide
kind
of
a
structured
way
of
configuration.
H
We
have
to
dynamically
querying
our
configurations
object
in
order
to
fetching
those
confusions.
So
I
just
started,
then
it's
becoming
more
challenging
and
yeah.
It's
really
interesting.
I
think
it's
a
great
opportunity
to
learn
new
things
and
I
I
hope
there
will
be
any
things
to
learn
in
this
task
and
the
yaml
configuration
documentation.
So,
as
I
mentioned,
it's
already
merged,
but
it's
almost
a
copy
of
xml
configuration
file,
but
I
think
in
the
near
future
we
will
move
into.
H
We
will
move
into
like
something
like
windows,
server,
gta
trio,
something
like
so
then
we
can
provide
the
present.
Those
configuration
documentation
with
some
kind
of
a
fancy
way
like
configuration
details
and
both
xml
and
yaml
examples.
H
So
these
are
the
key
updates
about
yammer's
effort,
supporting
phase
two
so
and
there
are
some
configuration
syntax
changes
as
well,
so
previously
we
can
pro
we
could
provide
enjoyment
variables
as
as
a
dictionary,
but
in
this
phase
we
update
environment
variable
to
provide
this
array
of
qlps,
like
shown
in
this
documentation
in
the
picture
and
also
stamp
value.
Now
we
can
provide
in
this
manner
much
human
readable
manner.
Also.
H
This
is
how
it
is
implemented
in
xmls,
yeah.
Okay,
if
you
talk
about
new
cli,
as
I
mentioned
before,
they
have
a
few
strokes.
We
can.
We
can't
continue
without
a
new
configuration
or
a
command
line
interface.
Actually,
probably
we
can-
I
don't
know,
but
having
a
more
structured
base
will
be
really
good,
so
we
could
come
up
with
a
new
command
line
interface.
H
So
if
you
talk
about
the
new
key
updates
in
phase
two,
we
also
redirect
option
and
also
we
remove
test
paid
command
and
we
had
wait
as
option
to
the
test
command
and
also
same.
We
remove
the
stop
rate
command
and
we
add
the
weight
as
option
to
the
stop
command.
So
we
can
provide
those
options
if
those
options
true,
then
it
will
behave
like
a
test
date,
then
stop
it.
H
Okay,
if
we
talk
about
phase
three
after
this
phase
three,
I
will
move
into
demonstration.
Okay,
if
you
talk
about
face
tree
and
festy
will
be
much
more
challenging,
because
there
are
a
lot
of
thing
to
complete
in
phase
three.
Actually
I
have
to
in
the
in
your
computer
support.
I
have
to
finish
configuration
validation,
only
startup
and
yeah
extensions.
I
said
and
means
company
cli.
We
have
to
merge
it
and
there's
a
new
patch
called
version.
H
Three
in
windows,
server,
stop
and
next
turn
is
doing
a
lot
of
contribution
there
and
after
a
few
discussions,
I
think
we
can
continue
with
the
new
class
yeah
and
yeah
my
schema
variation
and
schema
xml
schema
validation
have
to
be
finished
and
xml
schema
validation.
I
have
done
some
amount
of
thing
and
I
have
to
update
a
unit
test
and
documentation
for
the
test.
H
So
yeah,
that's
about
my
presentation,
so
I'll
move
into
my
demonstration
now.
H
Okay,
I
think
you
can
see
my
command
prompt
now.
H
Okay,
great
good,
okay,
so
anyway,
however,
there's
no
any
fancy
user
interfaces
for
my
demonstration,
you
know
everything
done
in
command
line.
H
Okay,
this
is
actually
there
are
no
big
functional
difference,
difference
from,
in
contrast
to
phase
one
in
my
demonstration,
because
in
phase
one
I
create
a
poc
and
it
included
both
of
these.
But
but
there
were
many
updates
online.
Actually,
so
anyway,
presentation
be
much
more
like
what
I've
done
in
phase
one
okay.
So
this
is
executable
of
windows,
server,
stopper
that
I'm
going
to
run,
and
this
is
the
jenkins.
file
and
yeah.
H
H
First,
let's
install
the
windows
wrapper,
so
we
can
use
those
install
command
and
it's
automatically
find
the
configuration
file
with
the
windows.
Sorry
name
of
the
executable,
so
yeah
you
can
see
you
see
it's
configured
the
ids
jenkins
and
also
it's
installers
with
the
id
of
jenkins
so
for
let's
confirm
whether
it
has
been
installed
correctly
in
our
service
manager.
H
So,
okay,
it's
here
and
but
status,
is
not
running
still,
so
we
have
to
start
the
windows
service
up
in
order
to
bring
the
running
start.
So
let
me
start
windows,
stopper
and
yeah.
Now
it's
starting
and
we
can
confirm
from
here
yeah
now
it's
in
running
status
and
we
can
confirm
it
by
go
into
the
lock
on
lost.
Let's
see
whether
jenkins
is
running
yeah.
H
Okay,
perfect
jenkins
is
running
on
localhost
8081,
so
we
know
it's
working
with
camera
computation
files,
so
you
can
see
the
configuration
of
the
environment
variable
configurations
and
there
are
some
times
time
value
anyway,
so
it
has
been
changed.
H
Structurally,
you
can
trust
to
phase
one,
so
that's
how
the
it's
a
work
with
yaml
configuration.
So
let
me
stop
the
service
and
okay:
let's
see
whether
it
has
been
stopped.
H
And
yeah
perfect:
it's
not
running
anymore
and
let
me
install
the
so
it
says.
H
Yeah,
okay,
perfect,
let's
refresh
okay,
now
not
now
now
so
it
says
be
removed
from
there.
So
it's
manager!
Okay,
that's
the
demonstration
of.
B
H
Okay,
first,
let's
move
into
this
directory
and
let
me
close
this
installation
of
a
new
instance
of
visual
studio
from
this
directory.
Okay,
there
are
a
lot
of
conclusion
files
in
this
directory.
I
make
a
few
configuration
files
in
order
to
show
the
feature
which
we
can
specify
the
configuration
file
in
the
command
line
interface
explicitly.
H
So
this
is
a
configuration
file
that
I'm
going
to
use
in
this
demonstration
and,
first
of
all,
let
me
show
you
the
new
features
of
the
new
cli.
I
showed
those
things
in
for
face
one
matches.
So
let's
go
for
a
quick
recap,
so
there
are
a
help
option
which
provide
us
all
the
commands
which
are
available
and,
and
it
will
show
we
can
show
the
world
options
which
are
available
with
the
particular
commands.
H
As
example,
I
take
the
install
command,
so
we
sw
install
and
let's
help,
and
we
can
see
all
the
options
are
available
with
the
install
command.
So
now
I'm
going
to
use
this
option
the
config
file
option
and
I
can
provide
the
configuration
file
with
this
option.
Okay,
sw
install,
I
will
use
the
short
one
and
paste
the
configuration
file
perfect.
Now,
let's
start
with
the,
I
am
put
a
simple
console
out
in
order
to
identify
which
type
of
configuration
we
are
using.
H
Okay
and
also
starting
jenkins,
confirm
whether
it's
sorry
it's
just
installed
here.
Okay,
let
me
start
the
you
know:
service
wrapper
instances,
so
let's
confirm
that
it
is
working.
H
Yeah,
perfect,
it's
working,
so
that's
that
way
we
can
specify
the
command
specify
the
configuration
files
from
with
the
new
configuration,
a
new
command
line
interface
using
a
new
command
line
interface.
So
let
me
stop
sorry
sorry
yeah!
You
can
see
in
the
previous
command.
I
forgot
to
provide
this
configuration
file
command,
so
it's
behave
like
so
when
the
when
the
option
is
not
given.
H
So
this
this
value
will
be
automatically
skipped
and
it
will
roll
back
to
xml
file
configuration
because
it's
the
base
configuration
file.
I
mean
it's.
The
base
behavior
of
basic
behavior
of
the
window
size
wrapper.
So
I
and
the
current
according
to
the
current
implementation,
when
we
don't
provide
the
configuration
file,
it
will
automatically
roll
back
to
the
xml
version.
H
So
now
it
find
it
for
xml
version
any
way
I
forward
to
because
I
forgot
to
provide
the
configuration
extension
yeah.
That's
all
about
the
demonstration
for
my
presentation
up
to
now
and
okay.
Let
me
move
into
the
presentation
again.
H
So
if
we
talk
about
facebook,
I
think
I
think
I
talked
about
first
year
already
yeah.
So
that's
what
I
have
to
talk
about
demonstration
and
yeah,
it's
time
for
q
a
so
if
you
have
any
question
free
to
answer
anything.
C
From
me,
just
thanks
a
lot
for
the
demo
and
thanks
a
lot
for
the
recent
purchase.
If
you.
B
C
Released
the
key
change,
yama
configuration
support,
yet,
though,
in
the
carton
state
it
looks
like
we
will
be
able
to
do
it
early
in
the
next
coding
phase
of
the
early
next
week,
so
that
this
change
becomes
available
to
windows,
service,
wrapper
users
and,
let's
see
what
is
our
timeline
but
yeah.
Hopefully
it
will
be
also
available
in
jenkins
in
august,
so
that
people
will
be
able
to
play
this
yaml
configurations
there.
C
For
the
feedback,
okay,
thanks
everyone
for
this
demo
session,
we'll.