►
From YouTube: Newcomer Track (full session)
Description
Jenkins Contributor Summit June 25, 2021 Newcomer track (full session)
Includes:
* Adopt a plugin
* Documentation
* Infrastructure
* ReactJS
* Development
*Other
Slides https://docs.google.com/presentation/d/1eU0KabpBtGd0BCebuhWyvBgBunBaZvM3hIfcpdy_-OE/edit?usp=sharing
A
A
A
Then
we're
going
to
have
dhiraj
talk
about
what
it
means
to
contribute
in
documentation
based
on
his
experience,
doing
the
weekly
change
log,
then
aditya
is
going
to
share
his
experiences
contributing
to
infrastructure.
Then
we'll
go
back
to
dhiraj
for
a
discussion
of
his
contributions
in
react.js
and
question
and
answer
now,
given
that
we're
a
nice
small
group,
you
should
feel
free
at
any
time
to
unmute
yourself
and
ask
a
question:
don't
be
shy
about
about
worrying?
Oh,
I
might
interrupt.
No.
This
is
intended
to
be
conversational.
A
A
After
we've
completed
this
segment,
we've
got
some
other
things
planned
as
well,
but
we'd
like
to
then
tune
those
to
meet
your
needs.
So
let's
talk
first
about
quit
during
the
contributor
summit.
If
you
want
to
use
chat
or
you
can
unmute
afterwards,
you're
welcome
to
join
this,
get
getter
chat,
channel,
newcomer
contributors
and
let
me
paste
that
into
the
chat
so
that
you've
got
it
just
a
minute.
Let
me
find
the
chat.
First
chat
is
right
here:
okay
and
now
the
getter
chat.
Is
it's
easiest?
If
I
do
it
like
this.
B
A
All
right
so,
first
a
reminder:
what's
jenkins,
it's
an
automation
framework,
it's
the
most
popular
ci
cd
tool,
particularly
in
open
source.
It
is
a
very
large
community,
with
more
than
now
1700
plugins
that
make
it
do
what
it
does.
It's
an
automation
tool
for
coding
for
building
for
static
analysis
for
release
and
deploy
it
does
the
typical
things
you
might
expect
like
check
out
source
code,
build
that
source
code
analyze
it
for
issues
test
it
and
publish
results,
deploy
artifacts,
maybe
even
all
the
way
to
production
and
notify
people.
A
In
night,
2019
alone,
67
releases
5,
000
contributors,
111
countries,
there's
lots
going
on
in
jenkins.
However,
it's
amazing
what
amount
happens
with
one
and
two
people
at
a
time
comparatively
we
are
large,
even
in
the
scope
of
other
projects
at
cncf
and
cdf.
You
see
here
diagrammatically,
yes,
the
kubernetes
project
is
bigger
than
the
jenkins
project,
but
jenkins
is
larger
than
most
other
projects
in
the
cdf
and
cncf
space.
A
A
A
A
So
what
what
we've
got
here
is
individual
maintainers,
one
or
two
or
sometimes
three
are
the
ones
who
care
for
an
individual
plug-in
and
those
maintainers
release
the
plug-in
they
update
it
to
use
new
versions
etc.
Well,
one
of
the
things
we
need
is
more
maintainers,
because
we've
got
over
a
hundred
that
are
ready
to
be
adopted.
A
Now,
first
challenge
is
we
need
to
overcome
your
sense
of
imposter
syndrome?
Oh,
I
can't
do
that.
Then
we're
going
to
talk
about
how
you
can
find
which
plugins
you
could
adopt.
Then
you
send
the
request
to
adopt
the
plugin
and
you
start
improving
it.
It's
actually
a
relatively
lightweight
process
to
do
this,
and
some
of
these
plugins
are
so
lightweight
that
you
could.
You
could
adopt
them
and
only
spend
on
the
order
of
minutes
or
maybe
an
hour
a
week
and
still
be
a
very
successful
plug-in
maintainer.
B
C
So
in
the
previous
slide,
if
you
can
go
back
so
there
you
mentioned
that
improve
the
plug-in
and
release
the
improvements.
Can
you
can
you
give
me
even
more
examples
on
how
we
can
improve
a
plug-in.
A
Absolutely
yes!
So
so,
for
instance,
one
of
the
things
that
that
I
think
it
was
actually
jonathan
mentioned
is
he's
been
maintaining
a
plug-in
just
keeping
it
up
to
date
and
one
way
to
improve
the
plug-in
is
to
update
it,
so
that
you're
sure
it
runs
with
and
depends
on
a
modern
jenkins
version.
So
you
might
update
the
pom
file
to
use
the
most
recent
pom.
You
might
update
its
dependencies
to
depend
on
more
recent,
more
modern
libraries.
A
A
A
There
are
plugins
that
you
could
adopt
if
you're
willing
to
do
basic,
fundamental
things
like
this.
Now,
if
you
say
oh,
I
can't
do
those
things
all
right,
then,
maybe
you
shouldn't
adopt
a
plug-in,
but
most
people
with
technology
experience
could
benefit
themselves
and
others
by
adopting
a
plug-in
and
and
caring
for
it.
Spending
10
minutes,
15
minutes,
30
minutes,
exploring
it
to
understand
how
it
might
be
improved
just
a
little
bit.
A
So
let's
talk
first
about
some
of
the
plug-ins
that
are
available
for
adoption.
So
there
are
api
plugins.
Now
what
an
api
plug-in
is
in
the
adoption
list
is
it's
a
plug-in
that
is
a
jenkins
representation
of
an
existing
api
component,
for
example,
the
apache
http
client
is
a
released
library,
that's
shipped
by
others,
but
in
order
to
make
it
convenient
to
use
for
a
jenkins
developer,
we
have
a
jenkins
plug-in
whose
whole
job
is
to
bundle
that
library.
A
A
Likewise,
there
are
build
utilities.
One
of
these
may
be
something
you're
already
using
where
you
say.
Oh
that
matters
to
me,
I
use
timeout
or
oh
yeah.
I
use
the
configuration
file
provider
or
you
know
what
promoted
build
is
important
to
me.
Well
guess
what
adopting
those
is
a
way
to
serve
your
community
serve
yourself
and
help
others.
A
A
Now
there
are
more
things
more
plugins
that
could
be
adopted
like
on
windows,
specific
you're,
a
windows
user.
There
are
windows,
specific
things
that
could
help
others
and
may
help
you
as
well.
Maybe
you
use
ms
build
and
you
need
the
ms
build
plug-in
or
you
use
wix
to
build
your
installer
or
you
depend
on
the
windows
management,
install
the
wmi
layer
agents,
all
those
are
looking
for
adoption.
A
A
Likewise,
there
are
test
tools
that
need
to
be
put
up,
for
that
are
that
have
been
put
up
for
adoption
and
are
ready,
so
all
of
them
give
us
a
hint
that
there's
lots
that
you
could
do
if
you
were
willing
to
adopt
a
plug-in
and
help
us.
So
now,
let's
take
a
minute
here
and
look
at
the
at
the
process
and
I've
got
us
whoops.
I
need
to
go
back
one,
so
this
is
what
we
do.
A
We
follow
this
this
page.
That
gives
us
instructions
on
how
to
identify
a
plugin,
that's
up
for
adoption
and
then
adopt
it,
and
it
talks
about
hey.
You
send
an
email
to
the
jenkins
developer
mailing
list
with
a
link
to
the
plugin.
You
want
to
adopt
a
link
to
the
pull
request
that
you'd
like
to
deliver,
if
any
your
github
username
and
your
jenkins
account
so
now,
how
do
we
find
plugins
that
need
adoption?
A
A
D
A
E
A
Oh
that-
and
that
is
marcel-
that
is
a
brilliant
way
to
find
it.
Thank
you
for
highlighting
that
that
is
absolutely
so.
Did
you
did
you
catch
what
marcel
said?
He
noted
your
jenkins
installation
will
hint
to
you
the
things
you
might
consider
adopting.
So
what
I
did
was.
I
went
to
the
jenkins
dashboard
to
manage
jenkins,
manage
plugins
and
under
installed.
A
Now
look
at
these
nice
big
boxes
that
tell
me
oh,
hey
the
apache,
http
components,
client
4.x,
api
plug-in
is
up
for
adoption
there's.
This
is
one
that
I
was
describing
right.
So
you
see
it
here,
and
this
is
a
great
candidate.
Maybe
you
say
I'd
like
to
know
more
about
that
plugin.
So
you
open
that
link-
and
here
is-
is
all
the
discussion
about
that
plugin.
Oh
I'd
like
to
see
it's
github
repository
there.
It
is
ready
to
go
okay.
A
What
what
kinds
of
changes
have
happened
recently
all
visible
from
here
and
waiting
for
you
to
get
involved
to
adopt
it
excellent
marcel
thanks,
so
much
for
pointing
that
out.
So,
let's,
let's
look
at
mark's
at
my
installation
to
see
just
how
many
of
my
plug
of
the
plugins
that
I
actively
use
are
are
up
for
adoption,
so
I've
got
apache
http,
authorize
the
bitbucket
branch
source,
the
build
timeout
plug-in
conditional,
build
step,
config
file
provider,
this
one's
actually
quite
valuable.
To
me,
I
like
that
one
configuration
slicing.
A
Oh,
I
love
this
one
and
I
would
love
to
some
for
somebody
to
adopt
it
because
it
lets
me
with
one
set
of
clicks,
modify
the
configurations
of
many
many
jobs
all
at
once,
and
and
gives
you
a
good
hint
of
the
kinds
of
plugins
that
are
up
for
adoption
marcel
thanks
again
for
pointing
us
that
way.
That's
a
that's
a
great!
Let
me
put
that
in
the
slides
is,
is
look
at
your
own
jenkins
instance.
A
Excellent,
so
the
the
process
that
was
described
there
send
an
email
to
the
jenkins
developers.
Mailing
list
is
pretty
simple:
it's
there's
not
a
it's,
not
a
very
high
bar.
You
can
just
ask
hey
I'd
like
to
be
made
a
maintainer
now
with
some
of
the
plugins.
They
may
ask
that
you
first
submit
pull
requests
to
show
that
you've
you're
interested
they
that's
a
fair
thing
and
okay,
it's
a
great
way
to
get
involved
any
any
other
questions.
So
far.
F
A
A
I
had
been
managing
for
many
years
and
therefore
did
not
write
code.
Day-To-Day
right
I
did
not,
but
I
was
interested
because
I
wanted
to
be
sure
that
the
particular
plug-in
that
caught
my
interest
was
had
more
tests.
So
I
started
personally
writing
tests,
but
I
had
not
done
active
java
development.
I
had
little
or
no
experience
in
java
ides
and
I
used
my
my
beginnings
of
adopting
the
plugin
to
learn
those
things.
A
So,
if
you're
willing
to
learn
about
java,
if
you're
willing
to
learn
about
how
to
use
maven,
I
had
never
used
maven
before
starting
work
on
the
jenkins
get
plug-in.
I
had
all
those
things
were
were
brand
new
to
me
and
I
used
this
as
a
way
to
learn
them
so
in
terms
of
the
bar
to
actually
do
the
work,
it's
quite
low.
Now,
yes,
if
you
don't
have
interest
in
it,
if
you
say
no,
I
want
to
do
javascript.
A
F
Thanks
mark
thanks
for
the
answer,
I'm
satisfied,
however,
successful
to
this
question,
and
I
also
have
another
question.
Like
you
know,
jenkins
extensions
are
sometimes
built
using
groovy
as
well.
So
is
knowledge
of
boogie,
also
sufficient
or
b
or
is
it?
Is
it
only
pure
java
that
we
need.
A
So
I
we
generally
a
jenkins
plug-in,
will
not
be
built
with
groovy
many
people
use
groovy
to
create
pipelines.
They
use
use
groovy
in
very
interesting
ways,
but
a
plug-in
will
generally
be
a
java
component
rather
than
a
groovy
component,
given
that
groovy
and
java
syntax
are
quite
similar,
I
didn't
find
it
difficult
to
learn
groovy
when
I
needed
it,
but
in
my
case
I
had
been
a
maintainer
of
a
plug-in
for
many
many
years
before.
I
even
did
anything
with
groovy.
F
F
F
There
has
always
been
a
kind
of
you
know,
enthusiasm
as
to
how
the
plugins
are
getting
developed,
and
I
think
this
is
the
best
platform
that
I
can
get
most
of
the
knowledge.
The
question
that
I
had
actually
mark
is
initially
obviously,
like
you
showed
the
materials
as
to
how
to
get
an
adopt
a
plugin,
but
there
might
be
instances
where
you
know
initially,
specifically
myself.
F
A
A
Let's
see
where
would
I
best
put
that
let's
find
how
about
how
about
we'll
just
put
it
right
here?
So
so
one
is
the
developer's
mailing
list
or
chat
on
newcomer
contributors,
getter
channel
so,
and
that
is
at
this
location.
So
I'm
going
to
go
ahead
and
open
it
up,
and
it's
jenkins
getter
here
and
here
is
the
newcomer
contributors
channel
and
what
that
is.
Is
it's
specifically
dedicated
to
helping
people
who
are
brand
new
contributors.
A
And
so
there
you'll
find
folks
now
if
you've
got
a
very
specific
development
question.
The
jenkins
developer
list
is
a
great
place
to
to
ask
your
question.
If
you're
feeling
like
I
did
initially,
if
you're,
if
you're
letting
your
imposter
syndrome
kick
in,
and
you
say
I'm
not
sure.
I
want
to
ask
a
question
in
that
big
of
a
group.
The
newcomer
contributors
group
is
quite
small
and
very
comfortable.
A
G
Yes,
I
had
a
question
I
have.
I
have
noticed
that
some
plugins
have
forks
on
github.
I
explain
it,
and
this
does
confuse
me.
For
example,
I
saw
as
an
example,
I
will
name
a
sonar
cube.
G
Plugin
sonar
cube,
plug-in
at
jenkins.
It's
a
fork
of
a
sauna
scanner
jenkins.
So
if
I
wanna
make
a
pull
request
or
something
like
this,
where
should
I
start.
A
Very
good
question:
okay
and,
and
I'm
showing
I'm
showing
on
my
screen
an
example.
That's
not
the
sonar
cube
example.
You
did
but
an
example
that
I
deal
with.
So
I
I
think
what
you're
highlighting
is
this
text
right
here?
Yes,
yes,
right,
it
says:
hey
wait!
A
second!
This
thing
is
forked
from
some
some
and
and
and
that,
while
that
message
is
accurate,
if
we
we
can
open
this
up
and
we'll
see
just
what
that
means.
So,
yes,
the
jenkins
ci,
get
plug-in
repository
accurately
was
forked
from
nigel
magnan's
magnay's,
hudson
git
plug-in.
A
So
so
the
the
simple
answer
is:
you
can
ignore
the
forked,
from
and
and
in
99.99
of
the
cases.
That
is
the
exact
right,
safe
thing
to
do
so,
ignore
the
fork
from
and
follow
the
contributing
directions
that
you'll
find
for
most
plugins
in
their
contributing
file
like
this
one
where
it
says
this
is
where
you
should
contribute,
and
this
is
how
you
should
do
it.
Those
kind
of
things.
B
D
E
A
A
All
right
so
so
back
to
our
the
idea
that
we
want
to
want
to
encourage
adoption
of
plugins,
so
you
find
the
plugin
you
want
to
adopt
and
and
remember.
This
is
the
part
where
you
have
to
overcome
the
the
imposter
syndrome
thing,
oh,
but
I
can't
adopt
a
plug-in
that's
much
too
popular,
much
too
big
or
or
much
too
narrow.
You
don't
stop
making
excuses
and
just
acknowledge
that
it's
a
good
thing
to
yeah.
Okay,
maybe
I'll,
give
a
little
bit
of
time
and
see
how
it
goes.
A
A
I
love
this
thing
because
what
it
does
is
it
tells
me
when
the
plug-in
I
maintain,
has
a
new
update.
So
as
an
example,
let's
look
at
one
of
the
the
plug-ins
I
maintain
is
called
the
platform
labeler
and
I
love
what
this
thing
tells
me
in
terms
of
pull
requests,
because
I
will
get
a
pull
request.
That
says,
let's
look
at
closed
pull
requests.
A
Oh
one
of
some
of
my
tests
depend
on
a
docker
image
and
this
bump
the
amazon
limits
linux,
docker
image
was
offered
to
me
by
dependipot.
Without
me
doing
anything
I
did
absolutely
nothing
other
than
configured
appendabot
and
it
has
suggested
hey
amazon
upgraded
their
docker
image.
Oh
ubuntu
upgraded
their
docker
image,
oh
alpine,
upgraded
their
docker
image,
each
of
them
with
no
effort
on
my
part.
Dependabot
just
helps
so
so.
This
is
a
great
one.
A
A
A
Okay,
next
thing
that
you
can
do
to
simplify
your
life
as
a
developer
is
simplify
the
change
log
maintenance
with
a
release.
Drafter,
okay
release.
Drafter
is
again
a
little
piece
of
automation
that
watches
the
pull
request
that
you
merge
and
proposes
changes
to
the
change
log
so
that
other
people
can
see
it
and
automatically
publish
it
so
that
you
can
automatically
publish
it
when
you're
ready
to
release.
D
A
A
Was
all
created
for
me
automatically
from
the
pull
requests
that
I
merged
to
the
plugin?
I
didn't
do
anything
to
create
this.
What
to
me
is
a
very
attractive
page.
It
assigned
things
to
features
and
improvements
to
dependency
updates
to
documentation,
updates
all
through
the
magic
of
release
drafter.
So
it's
a
great
thing
to
do
as
a
proposed
change
for
a
plug-in
you're
adopting.
A
Likewise,
this
one
use
the
jenkins
plug-in
bill
of
materials
is
a
great
way
to
simplify
the
maintenance
of
a
plug-in
and
and
simplifying
is
really
a
good
thing.
So
this
page
talks
about
how
you
use
this,
how
you
add
this
little
snippet
right
here
and
then
you
start
taking
away
specific
version
numbers
listed
in
your
plugin
and
it's
much
much
better
to
maintain
so
jenkins
bill
of
materials
track
dependencies
with
the
pentabot
and
simplify
your
change.
Log
management
with
release
drafter
all
good
things
to
do
to
contribute
to
a
plugin.
A
A
A
A
I
need
to
go
off
and
check
to
see
what's
going
on
in
the
in
the
other
in
the
other
sessions
it
appears
that
I've
broken
something
and
I'm
I'm
really
sorry.
Can
you
all
pause
for
five
or
ten
minutes
or
diraj?
If
maybe
maybe
what
we
do
is.
Would
you
be
willing
dhiraj?
If
I
put
we
put,
went
right
to
your
segment
but
you'll
need
to
share
your
screen
so
that
they
can
see
the
slides
and
I'm
going
to
make
you
the
host.
A
A
C
C
A
A
C
Okay,
so
let
me
start
so:
my
name
is
dhira
thing
jyotha,
as
I
told
you
before,
and
right
now
we're
going
to
learn
about
the
change
logs
week,
weekly
change
logs
and
I'm
going
to
share
my
experience
of
working
with
it
and
how
I
went
about
it
and
everything
from
start
to
end,
and
so,
as
you
can
see
on
your
right
side,
this
is
a
snippet
of
the
weekly
change
log
that
we
at
jenkins
write
and
the
reason
behind
writing
these
change
logs
is
that
we
release
a
new
jenkins
release
on
a
weekly.
F
C
And
on
each
release
we
have
a
new
bug,
bug
fix
or
a
feature
enhancement
that
the
developers
do
and
what
this
changelog
does.
Is
it
compiles
all
the
things
that
the
latest
version
of
jenkins
shows
and
releases
and
just
beautifully
documents
it
on
the
screen?
And
if
you
want
to
check
this
out
right
now,
so
you
can
go
to
your
browser
and
just
write
down
jenkins
dot.
Io
change
logs,
so
you'll
be
able
to
see
all
the
change
logs
so
now,
so
these
are
basically
very
user.
Centered
description.
C
What
I
mean
by
that
is
that
each
of
the
point
is
written
in
the
order
of
priorities
and
there
are
some
set
of
rules
in
which
we
follow
in
order
to
place
all
of
them.
So
the
main
aim
of
here
our
aim
is
that
the
developed
developer
should
spend
less
time
to
understand
everything
and
at
just
a
one
glance
that
they
can
understand
what
is
new
with
the
current
release.
So,
as
I
said,
it's
released
every
week
and
it's
definitely
human
edited
with
tooling
help.
So
I
use
a
tool.
C
It's
a
docker
tool
which
is
used
to
compile
all
the
pull
requests
that
have
been
submitted
right
from
the
previous
change
log
that
was
released,
and
then
I
edit
it
in
the
form
of
by
following
the
style
guide
that
I
was
mentioning
the
set
of
rules
and
then
just
compile
it
and
then
send
a
full
request.
C
So
yes,
so
this
is
a
very
important
part
like
I.
I
really
want
to
share
my
experience
here
with
everyone,
so
that
if
anyone
is
interested
to
know
the
process
behind
it
or
they
want
to
contribute
that,
then
it
will
be
really
helpful
for
you.
So
I
started
to
join
docs
office
hour.
It
happens
every
tuesday
and
thursday
is
really
optionally,
indian
standard
time
and
yeah.
C
So
I
joined
them
and
I
interacted
with
mark
and
everyone,
and
then
I
watched
some
videos
where
mark
was
so
showing
how
to
write
change
logs
and
all
the
videos
are
available
on
youtube
channel
as
well.
So
you
can
watch
me
as
well
doing
all
those
change
logs
one
by
one,
so
it
will
be
very
easy
for
you
to
refer
them
and
just
review
the
recordings
and
then
generate
it
on
your
own
on
your
local
machine
and
then
just
simply
submit
a
full
request,
and
it's
it's
not
complicated.
C
That's
what
I'm
trying
to
say
here
here
because
as
also
asked
us
about
what's
the
requirement
of
java
that
we
need
to
have
in
order
to
contribute
to
plugins.
So
similarly,
here
as
well,
if
you
talk
about
the
requirements
here,
it's
not
something
you
need
to
not
to
be
an
expert
you
just
need
to
have
wish
to.
You
know,
do
some
meaningful
contributions
here,
so
it
will
be
really
great.
We
can
use
your
help
here.
I
C
I
We
are
able
to
see
the
channel
if
that's
what
you're
trying
to
do.
C
C
No,
I
think
it's
calendar
yeah
evens
calendar
for
jenkins,
so
this
website
tells
you
all
about
the
upcoming
events
that
we
have,
and
it
will
tell
you
that
when
is
going
to
be
the
next
meeting
for
jenkins
docs
officer.
So
currently
we
are
here,
so
you
can
see.
There's
a
lot
going
on
today,
due
to
contributor
summit
and
so
you'll
be
able
to
see
everything
here.
The
details
of
timing
and
everything
so
I'll
share
the
link
with
of
this
as
well
in
the
chat.
I
Thank
you
so
hello,
everyone,
I'm
other
people
and
I've
been
infrastructure
and
advocacy
enthusiasts
directly.
Please
move
on
to
the
next
slide,
so
I'll
give
you
some
background
information
on
how
I
started,
participating
and
contributing
to
jenkins
anthra.
So
one
day
I
just
actually
randomly
attended
the
jenkins
infra
meeting
and
it
was
mark
and
gareth.
I
I
think
they
were
discussing
about
some
downtime
in
jenkins,
and
that
was
when
I
saw
how
how
you
jenkins
is
and
the
slide
that
was
shown
by
mark
about
jenkins
by
the
numbers,
because
actually
and
once
you
feel
how,
once
you
get
the
feel
of
how
they
are
actually
managing
such
a
huge
thing,
it's
awesome.
It
just
blew
my
mind
and
I
was
like
okay
now
I
want
to
contribute
and
learn
how
to
contribute
to
this
so
yeah.
The
jenkinson
fra
has
a
youth
code
base.
I
Then
currents
has
more
than
300
000
installations,
and
it
is
really
awesome
when
you
see
how
it
is,
you
know,
distributed
around
the
globe
and
every
time
there's
a
download,
it
finds
the
nearest
mirror
and
downloads
from
there.
So
it's
just
awesome.
I
cannot
cannot
stop
saying
how
how
mind
blown
I
was
and
how
awesome
it
is
so
yeah
joining
the
infrastructure
meeting.
The
calendar
link
is
shared
by
dheeraj
in
the
chat.
I
I
think
that
would
be
the
first
step,
and
that
is
the
step
I
took
as
well,
and
there
are
many
areas
that
need
help
and
very
recently,
and
I
would
also
like
to
add
that
I
had
no
knowledge
of
how
aks
upgrades
are
done.
I
played
with
danian
and
he
was
really
helpful.
He
kind
of
held
my
hand
through
the
process,
big
hop
on
to
him.
He
hop
on
down
a
meeting
and
yeah.
I
shared
my
screen.
He
guided
me
what
to
do.
I
I
submitted
my
first
full
request
for
infra
and
it
is
not
even.
I
think
it
was
two
days
back
so
I
I
am
pretty
new
at
this
as
well
yeah.
Please,
can
we
move
on
to
the
next
okay,
so
the
these
are
some
steps
that
I
follow
and
I
recommend
that
any
newcomer
can
follow
to
get
acquainted
and
start
contributing
to
jenkins.
So,
first
of
all,
there's
listening
so
attending
meetings.
Some
are
weekly,
some
are
bi-weekly.
I
I
think
those
are
that
is
how
you
get
to
know,
and
even
it
is
something
how
from
where
you
can
understand.
Okay,
is
this
something
of
my
interest?
Is
this
something
that
I
can
contribute
to?
Second
is
learning
jenkins,
as
mark
said
before,
it
is
completely
java.
Development
and
java
was
not
even
my,
but
it's
still
not
even
my
primary
software
development
programming
language,
I'm
more
of
a
python
person,
but,
as
you
can
see,
I
am
a
gsoc
student
here,
so
I
do
java.
I
I
think
willingness
to
learn
is
something
very
important
over
here
then
comes
discussing.
One
need
to
be
proactive.
I
guess
you
need
to
ask
questions
in
the
getter
channel
during
meetings.
The
mailing
list,
so
discussing
would
be
the
next
step,
then
pairing.
I
I
think
everyone
is
really
scared
in
the
beginning
when
they
are,
you
know
making
their
first
comment.
First,
pull
request
and
pairing
really
helps
where
someone
some
experienced
person,
maintainer
of
a
plug-in,
actually
guides
you
through
the
whole
process.
So
that
is
important
and
when
I
would
come
to
doing,
you
need
to
actually
take
that
initiative
and
write
code,
not
just
code.
Actually,
generally,
you
know
contribute
so
the
doing
phase
of
it
and
finally,
reviewing
and
being
a
newcomer.
You
are
again
really
scared.
I
When
you
are,
you
know
pressing
that
submit
review
button,
because
what,
if
you
say
something-
and
it
is
too
rude
what
if
it
is
not
giving
out
enough
information
to
the
new
contributor,
the
plugin,
you
are
maintaining
or
yeah,
so
that
that
thing-
and
I
I
just
made
one
code
review
to
the
on
the
project
that
I
am
working
for
google
summer
of
code-
that
is
conventional
comments,
plugin
and
yeah.
I
C
Back
awesome,
so
I'm
back
again
so
I'll
be
sharing
my
experience
of
react,
js
and
jenkins.
So
let's
start
so.
These
are
the
three
projects
main
projects
that
have
react.
Js
technology
used
in
it
so
in
the
for
next
upcoming,
slides
I'll,
be
going
through
each
project
and
telling
you
all
about
in
brief
about
what
the
projects
are
and
how
you
can
help
us
right.
So
so
this
is
the
first
project.
C
It's
called
custom
distribution
service,
so
this
project
was
started
last
year
and
it
as
a
gsoc
project
only-
and
I
contributed
this
year
in
the
reactor
js
field
and
I
suggest
which
all
of
them
got
merged.
So
I
had
zero
knowledge
about
react
js
before
before
contributing
I
really
had
zero
knowledge,
and
when
I
got
to
learn
about
this
project,
I
was
interested
to
you
know
start
my
open
source
journey,
and
this
was
the
project
with
how
I
started
with
jenkins.
C
C
And
there
were
so
many
other
things
as
well,
like
soft
skills
like
how
to
talk
to
people,
and
so
many
things,
and
after
that,
one
more
thing
that
I
really
loved
was
that
I
got
opportunity
to
get
my
code
reviewed
by
someone.
Who's
really
experienced,
so
to
be
precise.
Gavin
morgan
was
one
of
them
who
went
through
my
code
and
told
me
that
what
are
the
you
know
the
best
practices
when
you're
writing
the
react
js
code.
C
So
that
was
something
I
really
loved
as
well
and
coming
to
the
areas
where
we
need
your
help
and
you
can
help
us
our.
These
are
the
issues
that
you
can
help
us
with,
and
these
are
just
one
of
some
of
the
issues
that
we
placed
on
the
slide
and
you
can
go
to
the
issues.
C
Link
and
you'll
be
able
to
find
all
the
list,
and
this
is
the
second
project
which
is
called
pipeline
graph
view
plugin.
So
it
is
a
project
which
is
now
current.
It
just
recently
started,
and
just
I
I
want
to
stress
this
more-
that
this
project
is
going
to
be
really
really
popular
because
it
works
on
some.
C
You
on
this
plugin,
it
will
be
right
so
and
there's
going
to
be
a
demo
session
on
this
pipeline
plugin
that
that
will
help
you
all
to
know
about
what
this
actually
is
and
yes,
how
this
plug-in
works
and
what
are
the
requirements
of
this
so
you'll
be
able
to
learn
more
about
it
on
the
demo
session
as
well.
C
Now
this
is
the
last
project
that
I
want
to
share
with
you,
so
it's
called
plug
inside
and
I'm
sure
people
who
learn
know
about
jenkins
and
have
been
using.
It
definitely
know
about
the
site,
because
it's
very
famous
and
people
refer
go
through
this
site
in
order
to
learn,
search
about
plugins
and
try
to
understand
which
are
the
new
plugins
and
recently
updated
and
trending
ones
and
everything.
A
C
Okay,
awesome,
so,
yes
and
yes,
I
was
going
to
share
one
thing:
that
is
this
website.
Plugin
site
is
made
by
gavin
morgan
as
well,
so
he's
the
same
person
who
helped
me
during
my
code
reviews.
So
my
point
here
is
that
you,
when
you're
contributing
to
jenkins
you
get
to
interact
and
know
and
be
mentored
by
someone
who
are
working
on
some
of
the
most
popular
projects
in
jenkins.
So
it's
I,
I
feel
it's
a
privilege
to
be
at
such
an
environment.
C
C
A
Thank
you,
and
would
you
be
willing
to
grant
me
hosting
again
so
that
so
that
I
could
do
you
know
how
to
do
that,
so
participants
on
mark
wait
do
a
more
and
then
it
will
make
host.
A
Good,
thank
you
thanks
very
much
all
right,
I
have
the
controls
back,
thank
you
and
I
may
have
to
give
you
give
you
control
again
later,
but
let
me
share
my
screen
and
let's
look
a
little
bit
further,
then
so,
how
about
a
pause
here
to
check?
Actually
before
I
share,
let's
pause
to
check
to
see,
are
we
meeting
your
needs?
Are
there
things
that
you
would
like
to
discuss
further?
Do
you
want
me
to
go
back
to
the
to
the
adopt
a
plug-in?
Are
there
specific
questions
you'd
like
to
address.
G
You're,
muted,
oh
sorry,
I
forget
it
every
time,
yeah
sure
I
I
have
one
more
question.
The
question
is:
what
are
the
the
things
I
have?
G
No,
let
me
start
it
again.
What
do
I
need
to
start
contributing
to
to
jenkins?
Obviously
I
need
a
github
account.
It's
it's
obvious
and
then
you,
you
told
us.
We
need
a
jenkins
account.
Can
you
tell
us
more
about
it
or
or.
A
Sure
can
you
bet
absolutely
so
so
to
co.
Let's,
let's
talk,
maybe
about
levels,
and
then
you
can
decide
which
level
matters
for
you.
So
the
question
is:
what
accounts
do
I
need,
and
why
do
I
need
them
so
in
order
to
submit
a
pull
request
to
one
of
the
jenkins
repositories?
You'll
need
a
github
account,
and
so
that's
a
that's.
A
good
good
first
thing
be
sure.
You've
got
a
github
account
and
you
can
establish
that,
however
works,
however,
works
best
for
you,
etc,
but
a
github
account
now.
A
The
question,
then,
is
all
right:
when
do
I
need
a
jenkins
account
and
why,
and
so
the
jenkins
account
controls
access
to
things
like
the
jenkins
artifact
repository
repos.jenkinci.org.
It
controls
access
to
the
jenkins
bug
tracker
issues.jenkins.io.
So
if
you
become
wish
to
become
a
plug-in,
maintainer
you'll
need
an
account
on
jenkins.io
and
the
way
you
get.
That
is
you
go
to
accounts.jenkins.io
and
sign
up.
G
A
A
Some
have
chosen,
and
this
tends
to
be
the
more
recently
created
have
chosen
to
use
github
issues
to
track
their
issues.
As
an
example,
the
git
plug-in
tracks
its
issues
in
the
jenkins
issue,
tracker
the
other
plug-ins.
That,
let's
say,
are
much
newer,
like
the
pipeline
graph
view
plug-in
that
that
dhiraj
mentioned
that
one,
I'm
pretty
sure
tracks
its
issues
in
github.
A
It's
it's
a
very
new
thing
and
the
author
just
didn't
want
to
bother
with
creating
and
managing
a
separate
bug
tracker
for
for
him,
it
was
easier
to
do
github
issues,
and
so
so
the
where
do
I?
Where
do
I
report
an
issue?
The
easy
check
is
look
at
the
github
repository.
If
it
doesn't
have
issues
enabled,
then
you
know
it
has
to
go
to
the
jenkins
issue.
A
A
Now
another
another
reason.
So,
let's
see
I
I
listed,
I
listed
two
key
reasons
why
you
need
a
jenkins.io
account.
One
is
the
issue
tracker
and
the
other
is
the
repository,
the
archive,
the
artifact
repository.
It's
actually
hosted
for
us
by
the
kind
donations
of
of
jfrog.
It's
an
artifactory
instance,
and
it's
an
amazing
thing
that
they
do.
They
are
wonderful
to
host
it
for
us,
because
it's
huge
so
artif
in
order
to
get
in
order
to
publish
a
release
to
artifactory.
You
need
to
log
in
to
artifactory.
D
A
G
C
Yes,
so
I
was
just
asking
you
that
if
somebody
else
like
he's
working
on
his,
he
or
she
is
working
on
his
on
their
own.
If
they
have
a
doubt,
they
can
also
reach
out
to
data
channel
for
new
contributors
right.
A
That's
correct
right,
so
any
of
these
kinds
of
questions
are
very
well
suited
to
ask
and
newcomer
contributors.
We
we
love
to
see
them
because
in
a
perfect
world
you
ask
a
question
in
newcomer
contributors
and
we
paste
a
link
to
the
documentation
that
tells
you
what
to
do
in
the
imperfect
actual
world.
You
ask
a
question:
we
realize
we
don't
have
the
answer
to
that
question.
We
answer
the
question
and
then
we
put
it
in
the
documentation.
A
A
A
A
A
A
A
A
A
A
A
A
A
A
So
in
terms
of
topics
that
I
think
we
could
address,
we
could
we
could
talk
about
plug-in
development.
What
it
means
to
do
some
of
the
specific
items
that
we've
listed.
We
could
talk
about
pipeline
development,
we
could
talk
about.
We
could
go
back
to
the
adopting
adopting
a
plug-in.
I
think
we're
we're
pretty
well
covered
there.
H
Consider
yeah,
sorry,
if
I
just
missed
it,
I
have
a
question
about
plugin
development.
Is
I'm
trying
to
find
when
I'm
searching
through
the
jenkins
website
and
everything
else?
I
keep
on
running
into
plug-in,
documentation,
links
that
are
all
set
to
read
only
and
like
normally
three
or
four
years
old.
So
where
is
the
current
documentation
for
plug-in
development?
A
No,
no
you're,
it's
it's
a
broad
mix.
There
is
plenty
of
documentation
that
is
useful,
even
in
the
the
read-only
wiki
site.
However,
the
best
and
most
authoritative
is
on
jenkins
on
www.jenkins.io,
okay,
and
let
me
let's
go
there.
Let
me
share
my
screen
and
we
can
look
at
it
together,
but
but
this
may
not
address
your
specific
question,
but
let's
try
so
here
I'm
going
to
go
to
this.
Let's
see
do
you
do
you
see
my
screen
with
the
slides
on
it?
A
And
so
here
is
the.
Let
me
see
that
I
got
it:
okay,
size
it
correctly
for
my
screen
so
documentation
and
now,
if
we
look
at
the
developer
guide
down
here
at
the
second
from
the
bottom,
what
this
gives
us
is
a
is
links
to
various
things,
all
right,
the
first.
How
do
you
get
started?
Writing
a
new
plugin.
That's
that's
actually
rather
uncommon.
Now,
with
1800
plugins,
most
people
don't
need
to
write
a
new
plugin,
but
if
you're
interested
we
could
go
through
that,
then
there
are
a
series
of
how-to
guides.
H
A
A
H
No
well
just
I
don't
know,
I
don't
want
to
monopolize
things,
but
you
know
I
said,
like
I
said
when
I
was
trying
to
when
I
migrated
our
at
work.
When
I
migrated
to
jenkins
instance
to
the
newer
lts,
then
I
tried
to
bring
in
that
old
plug-in
that
I
was
using
it
just
it
threw
errors,
and
so
then
I
just
opened
up.
H
H
It
was
missing
some
of
the
groovy
parts
that
were
missing
some
cross-site
scripting
fixes
and
a
bunch
of
other
stuff,
and
I
just
kept
on
when
I
as
I
was
searching
for
the
issues
I
ended
up
on
the
wiki
and
I
was
finding
sort
of
old
stuff.
You
know
pointing
to
like
netbeans
plugins
that
are
no
longer
available
and
and
pointing
to
intellij
plugins
that
are
right
date
and
stuff,
and
so
I
was
just
trying
to
figure
out
where
the
kind
of.
A
And-
and
you
highlight
you
highlighted,
there's
a
there's-
a
broad
collection
of
information
on
wiki.jenkins.io.
I
think
the
specific
thing-
probably
the
first
thing
you
were
doing
or
would
have
benefited
by
doing-
is
this
updating
your
maven
parent
palm
yeah,
because
what
that
does
is
that
and
if
you're
willing
we
could
actually,
we
could
actually
try.
This
live
if
you'd
like,
but
but
what
there
is
here
is
this
guides
us
to
to
hey?
H
A
Okay,
yeah,
so
so
the
for
me,
it's
worth.
I
think
it's
worthwhile
highlighting
some
of
the
things
on
this
page
just
for
everyone's
benefit,
because
when
you
adopt
a
plug-in
one
of
the
early
things
that
you'll
probably
do
is
exactly
this
update,
your
maven
parent
palm
and
the
steps
that
this
provides
are
necessary.
Preparatory
steps
for
some
of
the
later
steps
like
using
the
jenkins
bill
of
materials,
so
so
by
by
saying,
okay,
we're
going
to
do
updating
your
maven
parent
palm
this
change.
A
A
Here
it
is
this,
so
you
you
remember,
I
said:
hey
1.625
is
old.
There's
a
a
page
in
this
set
that
says,
choosing
a
jenkins
version
to
build
against
and
and
jonathan
one
of
yours
is.
You
are
updating
to
a
jenkins
lts
version,
you're,
probably
not
going
to
do
anything
with
that
old
plug-in
on
an
old
jenkins
version.
So
for
you
updating
to
a
new
jenkins
version
is
probably
a
good
thing,
and
so
this
guidance
says:
okay
gives
us
some
instructions
on.
A
A
You
should
generally
not
use
something
that's
older
than
about
a
year,
because
things
that
are
older
than
a
year
have
sort
of
fallen
off
the
edge
of
the
update
center,
and
so
so
when
it
says
when
this
one
says
1.625
and
you
go
looking
in
the
history
and
realize
wow
that
was
eight
or
nine
years
ago,
you
can
clearly
make
a
move
to
a
newer
version
and
you
can
choose
a
much
more
recent
version.
Saying:
okay,
I'm
going
to
choose,
and
now
we
look.
What
does
it
recommend?
A
And
this
page
says:
okay
choose
either
2.263.1
or
2.277.1,
and
the
cool
thing
for
me
about
this
page
is
it
updates
automatically
based
on
lts
versions?
So
it's
going
to
six
months
from
now
show
us
different
versions
as
the
recommended
base
version.
Okay,
so
update
your
parent
palm
good
first
thing.
Now
now
you
may
say:
oh,
oh,
oh,
oh
you
do
that
and
you
get
this
message.
A
A
A
E
Great,
I
I
had
a
question
mark
yes,
please.
So
what
level
of
autonomy
have
the
plugins
in
regard
to
dependency
like,
for
instance,
I
beg
apache,
http
client,
it
is
very
common
or
is
very
used
across
multiple
plugins.
So
if
I,
if
the
plugin
that
I'm
using
it
depends
on
that
particular
library,
you
I
can
upgrade
it
just
for
my
plugin
or
it
have
an
impact
on
remaining
plugins.
E
A
That
that's
a
very
good
question,
so
I
think
what
you're
asking
is:
what
is
the
downstream
impact,
if
my
plug-in
declares
that
it
needs
a
newer
version
of
one
of
its
dependencies?
Is
that
a
fair
way
to
say
what
you're
asking
yeah?
Okay?
So
so,
let's,
let's
take
the
specific
example
of
the
get
plug-in
if
it
says
it
needs
it
will
require
at
least
a
certain
version
of
promoted
builds.
A
Then
what
that
means
is
when
users
install
the
new
version
of
the
git
plugin,
if
they
don't
have
at
least
that
minimum
version
of
promoted
builds,
they
will
have
to
upgrade
to
it
and
jenkins
will
offer
the
upgrade
automatically
to
get
that
new
version.
So
if
I
mandate
a
newer
version
of
dependency,
then
when
someone
installs
my
new
release
with
that
mandatory
newer
version,
they
must
have
at
least
that
version
installed
it.
They
can
have
a
newer
version
than
that,
but
they
must
have.
At
least
that
version
did
that.
B
A
Okay,
so
so
one
of
the
one
for
me
that
highlights
one
of
the
real
benefits
of
the
bill
of
materials.
Before
I
implemented
bill
of
materials
in
the
in
the
git
plug-in,
for
instance,
I
was
terrified
to
update
dependency
version
numbers,
because
I
worried
that
I
was
going
to
break
someone.
I
worried
that
I
was
going
to
force
them
to
upgrade
to
a
newer
version
of
a
plug-in,
and
I
I
spent
an
unjustified
amount
of
time
worrying.
A
A
So
all
of
a
sudden,
the
entire
jenkins
community
is
getting
the
benefit
of
more
frequent
upgrades
to
plugins
and
getting
more
people
on
largely
the
same
versions.
Because
of
this
bill
of
materials
change
so
so,
for
me,
the
bill
of
materials
has
been
not
just
helpful
to
me
as
a
developer.
It's
been
helpful
to
the
users
because
they're
tending
to
get
more
of
them
on
similar
version
numbers.
G
I
maybe
can
share
my
experience
just
just
a
short
I
have
I
yesterday
I
have
reverted
my
jenkins
installation
to
the
previous
lts
version
and
about
20
plugins
didn't
match
the
version
of
the
previous
lts
release,
so
it
wasn't
possible
to
to
step
back
one
lts
release.
A
G
No,
it's
it's
painful.
I
I
really
like
to
use
configuration
as
code,
but
we
deployed
jenkins
the
old
weight,
no,
not
in
a
container
but
installing
in
the
file
system
as
a
war
file
and
all
the
dependencies
lay
in
the
file
system
in
jenkins
home,
and
there
is
no
way
to
you
know
just
to
tell
okay
with
this
new
version
come
this
version
of
plugin
because
they
are
already
there
right.
A
G
And-
and
it
is
impossible
to
apply
configuration
as
code
in
such
manner
in
container
world,
it
is,
I
think
it
is
easier
because
you
start
a
new
container
there's
such
a
great
feature
that
you
can
install
all
needed
plug-ins
for
this
particular
jenkins
version
inside
this
container
and
run
run
it,
but
not
if
you
install
the
old
way
the
file
system
way-
and
this
is
this-
is
a
problem
right
now
for
us.
A
So
I
was,
I
was
living
in
exactly
that
kind
of
a
world,
and-
and
I
agree
with
you
wholeheartedly-
I
installed
from
a
war
file-
I
was
using
in
my
case
the
the
debian
package
right.
So
I
installed
the
debian
package
onto
onto
my
debian
or
my
ubuntu,
but
I
I
was
able
to
find
a
path
that
let
me
eventually
move
towards
that,
and
I
wonder
if
it
might
be
worth
your
considering
one
of
the
things
that
okay,
I
don't
want
to
disturb
my
production
instance
right
it.
It
we're
going
to
continue
managing
exactly.
A
A
My
my
separate
copy
got
a
little
bit
of
configuration
as
code
in
one
segment
and
a
little
bit
of
configuration
is
code
in
another
and
I
spent
months
of
slow
progress
getting
there,
but
those
months
of
progress
ultimately
ended
up
with.
I
was
able
to
confidently
replace
my
war
based
slash,
deb
file
based
installation
with
one
that
runs
from
a
docker
image
on
the
same
machine,
because
I
eventually
got
them
synchronized
well
enough.
A
G
What
we
do
is
exactly
what
you
have
described.
We
use
rsync
to
copy
the
whole
jenkins
home
directory
to
a
new
virtual
machine
and
we
start
a
newer
version
of
jenkins
and
start
the
migration
on
this
test
machine.
And
if
it's
go
right
then
we
make
the
same
thing
on
the
productive
machine.
But
you
brought
me
to
the
idea:
we
should
not
copy
the
whole
jenkins
home.
G
Maybe
we
should
make
it
a
smaller
pieces
copy,
not.
A
At
least
at
least
for
me,
it
was
a
it
was
a.
It
was
a
positive
experience
to
incrementally
start
from
wherever
I
was
right
with
everything
managed
the
way
I
was
used
to
managing
jenkins
with
everything
done
from
the
user
interface,
and
I
I
had
I
click
through
web
pages
to
make
every
change,
but
then
that
rsync
and
copy
those
contents
into
a
repository
was
a
great
help.
It
turned
out
very,
very
useful
to
me,
and
it's
made
my
development
better,
all
right
it
it.
B
B
A
Going
to
put
this
into
the
into
the
chat,
see
and
now
this
is
this-
is
truly
evolutionary
embarrassment
publicly
displayed
all
right,
and-
and
I,
if
you,
if
you
look
at
the
history
of
this
particular
repository
you,
you
will
realize
that
mark
waite
hangs
his
head
in
shame
at
some
of
the
mistakes
I've
made
in
going
through
these
evolutionary
transitions
right
is
oh
wow
that
was
foolish
well,
but
that
works
oh,
but
that
was
bad,
so
so
you're.
Welcome
to
that.
A
A
So
we
were
just
doing
a
google
summer
of
code
project
and
that
google
summer
of
code
project
made
an
important
change
to
the
git
client
plugin,
and
I
needed
to
test
it,
and
it
was
minutes-
and
I
had
that
thing
deployed
into
this
environment
that
has
thousands
of
jobs
and
has
interesting
configurations
and
is
known
to
have
have
problems
in
places
that
that
most
people
don't
have
so
so.
For
me
it
was
but
but
that's
it's
been
an
investment
right.
I
mean
doing
incremental
transition
from
old
to
new
has
taken
time.
G
A
Great
we
we've
talked
about:
we've
talked
about
development
and
transitions
for
plug-ins.
Are
there
other
things
around
plug-in
transitions?
Let's
see
jonathan,
for
instance,
on
yours,
you
mentioned
that
you've
you've
had
to
upgrade
upgrade
and
find
find
your
way
through
how
to
how
to
bring
an
old
plug-in
to
be
current
and
the
ad.
The
plug-ins
that
are
up
for
adoption
commonly
have
that
exact
problem.
They
need
to
be
updated
and
you've
got
to
explore.
A
A
And
I
I
like
that
very
very
much.
That's
that's
a
great
way
to
to
be
able
to
had
a
good
conversation
the
other
day
with
someone
who
worried
hey,
but
I
can't
give
40
hours
a
week
to
this
kind
of
thing,
and
I
think
that
plug-in
adoption
is
a
place
where
you
could
give
30
minutes
or
an
hour
a
week
and
do
significant
work,
realizing
that
if
a
plug-in
has
been
placed
for
adoption
right
now,
that
means
there
aren't
people
working
on
it.
A
B
E
A
A
E
Yeah,
since
we
have
everything
on
top
of
kubernetes,
we
are
using
configuration
score
and
all
of
that,
so
we
at
least
that
issue
in
which
we
have
to
replace
a
great
or
downgrade
not
that
we
haven't
needed
to
downgrade
but
yeah.
That's
something
that
you
should
look
at
for
sure.
Valentine,
yeah,
that's
made
easier
life.
A
E
E
Things
as
well,
because
you
know
it
is
just
a
matter
of
changing
a
yama
file,
a
value,
sorry,
a
value
on
the
for
the
helm
chart
and
then
the
whole
thing
roll
over
pretty
easy
yeah.
It
sounds
more
a
better
approach
than
just
using
raw
jungle
file.
A
E
So
one
thing
that
I
have
been
thinking
is
that
I
need
to
improve
the
way
that
I
am
rolling
out
new
grades,
because
I
have
found
in
the
past
that
I
am
just
upgrading
the
lte
east
version
right
on
the
hr
value,
and
then
there
is
a
dependency
of
that
on
plugins,
specific
versions.
And
then,
since
I
fail
on,
read
the
migration
process,
my
grade
fails
so
yeah.
A
And
I've
I've
heard
a
number
of
people
who
who
use
that
kind
of
a
staging
technique
that
you're
describing
who
who
evaluates
something
in
staging.
I
think
it
aligns
with
the
way
valentin
was
describing
they're
doing
nor
theirs.
Your
kubernetes
technique
doesn't
doesn't
use
rsync,
as
I
assume
going
from
code
now
in
your
kubernetes
or
in
your
your
image
definition.
A
A
E
That's
another
process
that
I
need
to
improve
so
yeah.
I
guess
that
the
recommended
way.
I
I
think
that
I
read
it
on
the
wiki
or
somewhere
else,
that
I
should
build
my
own
docker
image
with
the
plugins
that
I
need
yeah
in
terms
of.
E
A
E
Yeah,
although
I
should
mention
that
the
star
the
bootstrap
process,
he,
I
will
say
that
he
doesn't
take
more
than
five
minutes
to
be
honest.
Okay,
so.
A
E
But
yeah
there
are
locations
in
which
a
plugin
could
fail
on
that
because
I
don't
know
the
instead
of
using
a
specific
version
that
was
long
time
ago
and
a
specific
version.
I
used
the
latest
version
of
the
plugin
declare
on
the
configuration
scope
and
then
what
happened
is
the
controller
was
restarted
and
on
the
bootstrap
process
the
plugin
was
installed
with
a
different
version,
because
I
have
instead
of
a
fixed
version.
I
have
the
latest.
A
B
E
The
docker
image
with
all
the
plugins,
that's
for
sure,
one
of
the
things
that
I
want
to
do
for
the
reason
that
we
have
said.
A
G
I
ask
a
question:
so
if
you
have
a
new
image
with
newest
plugins,
for
example,
six
weeks
passed-
and
there
is
a
new
jenkins
lts
version
available-
you,
you
built
a
new
image
with
newest
plugins,
and
you
want
to
bring
it
into
your
production
or
test
environment
you.
G
What
what
you
do
is
you
have
a
volume
somewhere
on
on
the
file
system,
bind
to
to
your
image
and
there
is
a
plugin
information.
There
is
older
for
older
versions
of
these
plugins.
Are
you
deleting
this
directory
or
how
you
approach
this
update
scenario.
E
So
currently,
I
am
not
doing
anything
in
regard
to
the
volume.
Usually
I
believe
that
mostly
it
is
being
taken
care
by
yankee
itself,
but
what
I've
realized
is
that
in
some
occasion,
when
you
grade
the
ganking,
you
can
get
a
warning
like
saying
you
have
an
all
or
legacy
configuration
related
to
those
plugins.
E
Do
you
want
to
keep
it
or
delete
it?
That's
why
I
believe
yanking
is
taking
care
of
those,
so
you
don't
need
to
clean
up.
I
guess.
B
E
B
G
Yeah,
there's
one
more
problem
with
it.
If
you
deleted
a
plug-in
from
plug-in
txt
and
build
a
new
image,
and
you
start
jenkins
with
this
new
image
and
bound
volume,
you,
you
still
have
the
old
plugin
installed
in
your
jenkins
environment
right
and
you
can't
cannot
get
rid
of
it
because
it
is
in
your
file
system.
That's
bound
in
to
your
image.
G
A
And
so
that
was
why,
from
at
least
from
my
usage,
I've
preferred
to
have
the
jenkins
the
the
base.
Docker
image
includes
the
plug-ins
in
the
image
and
it's
not
a
separate
volume
right.
It's
it's
absolutely
just
part,
because
what
what
I
wanted
was
I
want
the
ability
to
know
that
the
thing
I
described
I
could
go
back
in
time
if
I
had
to
and
build
it
again
now
this.
This,
for
me,
is
actually
a
relatively
recent
thing,
because
I
spent
the
longest
time
doing
exactly
what
marcel
was
doing
of
using
latest.
A
I
I
always
want
the
latest
plugins,
and
so
I
want
to
stay
with
latest.
It
turns
out
that
this,
this
new
tool
called
the
plug-in
installation
manager
has
some
automation
inside
of
it.
That
will
help
me
maintain
the
list
of
I
okay.
I
was
lazy.
I
didn't
want
to
maintain
the
list
of
exact
plus
plug-in
version
numbers
manually.
I
that
was
just
I've
got
150,
plugins
and
tracking
those
version
numbers
was
just
unacceptable.
A
I
I
couldn't
imagine
tracking
those
numbers,
but
the
plugin
installation
manager
tool
is
this
java
program
that
will
generate
the
exact
list
of
plugin
name
version
pairs
and
write
it
to
the
file
for
me,
and
so
what
I've
got
is
this
ability
to
say
run
one
command
that
says
tell
me
the
current
version
numbers
write
it
to
a
plugins.txt
file
as
exact
version
numbers
and
another
command.
That
says
now
go
download
exactly
those
versions
from
from
the
update
center.
A
A
And
now
there
is
a
different
technique
and
there's
a
different
techn
technique
that
the
jenkins
infrastructure
team
uses.
The
jenkins
infrastructure
team
uses
a
a
dependable
configuration
that
will
watch
the
jenkins
update
center
and
propose
pull
requests
to
their
plugins.txt
file
for
new
versions
and
so
they're
still
tracking
exact
version
numbers.
But
if
you're
interested
in
that,
I
could,
I
could
probably
paste
you
a
link
to
that.
One.
If
you
say.
Oh,
I
want
to
use
depend
about
to
track
these
things
that
that
that
was
a
an
interesting
technique
that
the
infra
team
found.
G
If
I
understand
this
correctly
dependable,
it
works
only
with
github.
That's.
A
A
E
E
I
I
am
struggling
with
what
you
just
mentioned.
I
need
to
go
over
every
plug-in
version
when
I
own
grading.
I
think
that
there
was
a
major
upgrade
on
the
ltes
version
some
months
ago,
so
I
went
through
all
of
those
and
also
especially
because
I
upgraded
from
jdk
a
to
11.
E
A
A
A
D
A
A
A
I
am
so
sorry,
I'm
not
finding
it.
I
know
that
I
get
this
message
all
the
time
and
so
I'll
I
will.
I
will
let
me
take
an
action
item
to
gather
that
and
if
you're
willing
to
actually
let
me
paste
my
email
address
if
you're
willing
to
send
your
email
address
to
mark.earl.wait,
gmail.com
and
I'll
share
the
link
to
the
jenkins
infrared
repo.
A
A
Right,
that's
that's
the
price
I
pay
so
yeah.
I
think
it
may
have
the
word
docker
in
it.
Yes,
there
it
is
okay,
good!
A
I
found
it
okay.
So
if
we
look
at
this
one
with
docker-
yes,
I
found
it.
Oh
I'm
so
proud.
Okay,
good,
see
the
jenkins
infra
lts
upgrade
process
at
this
thing
and
I'm
going
to
go
ahead
and
share
my
screen
and
let's
take
a
look
at
it
just
so
you
can
get
a
sense
of
how
it
operates.
So
here
is
the
you
should
see
the
dr
jenkins
lts
repository
now.
Do
you
see
that
I
do
okay
and
in
the
dot
github
directory.
A
Here
is
so
in
the
dot
github
directory.
We
have
three
workflows
enabled
so
dependabot
is
here
that
runs
github
actions
and
then
in
the
workflows
we've
got
update.yaml,
which
does
this
operation,
let's
see
so
it
generates
the
token,
and
then
it
runs
on
the
update,
plugins
branch.
This
operation
here.
A
A
A
A
So
so
the
the
thing
it's
proposing
is,
it
proposes
the
most
recent
version,
but
it's
it's
a
little
more
sophisticated
than
that,
because
it's
proposing
the
most
recent
version
that
is
supported
with
that
jenkins
version.
Okay,
so,
for
example,
it
is
perfectly
legal
for
a
jenkins
plug-in
to
declare
that
it
requires,
as
its
minimum
version
version
jenkins
2.299,
and
when
I
try
to
install
that
from
the
latest
lts,
which
is
289.
A
G
A
There
is,
and,
and
that
same
that
same
that
same
intelligence
exists
in
that
plug-in
installation
manager,
tool
that
I
was
describing
earlier
right
it.
It
does
the
same
thing
in
order
to
help
in
order
for
it
to
make
a
recommendation,
you
must
tell
it
which
jenkins
version
you're
targeting,
and
it
will
then
use
that
information
to
provide
the
list
for
you,
cool
cool,
very
cool.
E
Yeah,
in
your
case,
valentin,
if
you
are
not
using
github,
you
should
be
able
to
look
at
the
implementation.
B
G
A
A
D
A
G
E
Yeah,
that's
how
I
learn
things.
I
I
it's
on
occasion.
I
look
at
the
gift
actions
that
people
are
using,
not
that
I'm
using
github
actions
we
use
jenkins
right,
but
but
but
yeah
it's
an
occasion.
I
learned
how
people
are
doing
certain
things
and
it's
different.
It's
not
yeah
if
it
doesn't
fit
on
my
infrastructure.
C
So
yes,
so
as
a
newcomer
contributors,
some
of
people
would
not
know
that
how
to
go
and
check
out
all
the
available
guitar
channels.
That
jenkins
has
so.
I
think,
if
I
paste
the
link
for
jenkins
ci
dot,
slash
home
on
the
chat,
so
people
can
look
at
it
for
obviously
those
who
are
present
in
the
meeting
right
now,
so
they
can
look
at
it
and
join
the
the
available
channels
that
they
like
to
be.
A
C
A
A
C
Also,
I'd
like
to
share
one
very
small
experience
that
I
think
might
help
someone
who's
who's
in
the
same
position
at
me
that
has
been
new
to
contributing.
C
So
when
I
was
learning
about
configuration
as
a
code
plugin,
I
was
very,
I
still
am
very
interested
in
it
because
it
works
like
a
magic
to
me,
because
so
it's
really
cool.
So
I
came
across
one
technique
that,
in
order
to
configure
the
plugins
using
jks
plugin,
we
need
to
know
it's
yaml,
syntax
right,
so
everyone
does
not
know
how
to
write
the
correct
email
syntax
for
comfy
configuring,
a
particular
plugin.
So
what
they
can
do
is
go
to.
C
C
And
I
assume
that
people
would
know
this
very
easily,
so
the
point
I'm
trying
to
make
here
is
that
there
is
always
something
that
you
can
contribute
from
your
end
and
if
it's
not
going
to
help
everyone,
it's
going
to
help
someone
for
sure.
So
you
need
to
volunteer
and
bring
the
idea
to
the
gita
channel,
and
we
can
discuss
more
on
that
and
we
can
put
it
and
publish
it
if
it
helps
anyone.
So
welcome
for
the
contribution
from
that
area
as
well.
A
A
A
Now
I
believe
several
of
you
have
noted
that
you're
you're
on
the
way
to
pipeline
you've
got
a
mix
of
freestyle
jobs
and
pipeline
jobs
if
you're,
okay
with
it
I'd,
be
happy
to
do
a
brief
demo
on
some
things
that
I
think
you
ought
to
be
aware
of
as
pipeline
capabilities,
so
that
you
you
don't
miss
these
capabilities
as
you
as
you're.
Considering
should
I
try
pipeline
would?
A
Would
you
be
okay,
watching
a
little
demo
watching
letting
me
go
through
and
talk
about
pipeline
a
little
bit
and
trying
to
sort
of
introduce
the
concepts
and
then
show
some
demonstration
of
what
what
you
can
do
with
pipeline
and
what
many
people
may
miss
as
capabilities
that
are
available
in
pipeline
that
they
they
didn't
realize?
Were
there
yeah,
okay,
cool.
I
E
E
Meeting
but
I
would
like
to
ask
so
I
believe
someone
mentioned
you're
gonna,
be
them
on
this
pipeline
graph
view
plugin
later
today,.
A
D
A
It
is,
although,
if
you,
if
you
would
just
like
yes,
it
is
an
entry
on
the
agenda,
it's
scheduled
to
start
in
about,
let's
see
we're
at
10
30
now
so
8
9
10,
10
30..
So
it's
scheduled
to
start
in
about
90
minutes
but
marcel.
I
can
also
paste
a
link
to
you
for
you
of
an
existing
demonstration
of
pipeline
graph
view
that
we
had
a
video
of
that
way.
You
could
you
could
even
look
at
the
video
separately
if,
for
some
reason
you
couldn't
come
back
to
attend
the
ignite
demo.
B
B
G
A
E
Yeah
we
we
are,
we
are
using
it.
I
intended
to
ask
questions.
D
E
Yeah
some
limitations,
we
just
implemented
a
new
pipeline
and
we
find
we
found
that
the
parallel
execution
of
several
states
they
don't
show
properly.
Even
though,
on
their
the
classic
view,
it
is
presented
properly.
Okay,
so
so
you
know,
maybe
this
is
a
limitation
or
something.
So
I
intended
to
ask.
A
A
A
Too
many
tabs.
Yes,
here
we
go
okay,
so
this
was
a.
This
was
just
a
very
beginning
kind
of
thing.
So
so
the
idea
here
is
that
jenkins
whoops
copy
the
link
in
case
you
want
the
slides.
A
A
With
pipeline
with
freestyle
jobs,
we
configure
them
for
the
web
browser.
It's
really
easy
to
do.
We
store
them
inside
jenkins
makes
them
easy
to
change,
but
it's
not
nearly
as
easy
to
see
what's
changed
or
why
it
was
changed
and
we
don't
get
a
lot
of
help
from
people.
They
just
made
a
change
and
they
went
on
and
it's
strongly
dependent
on
plugins
and
if
a
job
starts
freest.
If,
if
jenkins
stops,
the
freestyle
job
stops
as
well,
there's
no
way
of
continuing
it
to
run
across
a
jenkins,
restart
jenkins.
A
Pipeline
jobs
are
configured
from
a
source
repo,
so
you
configure
them
as
code
they're
right
inside
your
source
repo.
So
the
job
definition
is
not
embedded
in
jenkins.
Storing
it
in
your
source,
repo
makes
it
easier
to
maintain
easier
to
see,
what's
changed
and
gives
you
get
comments
from
the
people
who
made
the
changes.
So
it's
using
a
pattern
you're
accustomed
to
and
it
puts
the
burden
of
the
work
predominantly
in
your
build
scripts.
A
So
there
are
two
domain
specific
languages
that
are
implemented
in
pipeline.
One
is
declarative,
and
the
other
is
scripted.
Declarative
is
a
very
is
the
second
generation
of
pipeline
language.
If
you
will
it's
intentionally,
simplified
intentionally,
designed
to
be
managed
and
read
and
implemented
by
people
who
may
not
be
precise.
Programmers
scripted
looks
an
awful
lot
like
groovy
code.
It's
a
dsl,
that's
derived
from
groovy.
A
A
The
keywords
that
are
used
in
the
languages,
the
steps
or
the
tasks
are
defined
by
the
set
of
plugins
that
you
have
installed,
and
that
means
the
pipeline
snippet
generator
and
the
directive
generator
can
let
you
use
exactly
what's
in
your
system.
Now
it's
time
to
stop
the
stop
the
slides
and
let's
get
to
a
real
demo,
because
because
this
is
where
I
think
it
it
matters
the
most.
So
let's
look
at
my
jenkins
installation
whoops
wrong
one,
my
jenkins
installation
here:
okay,
this
is
a
real
jenkins
installation.
It's
jenkins,
2.289
pre-release.
A
It's
got
30
or
40
agents
connected
to
it.
Some
of
them
are
dynamic
from
the
cloud
others
are
here
and
there
and
everywhere
so
a
real,
a
real
jenkins
when
I
want
to
define
a
new
plug,
a
new
job,
and
I
want
to
put
pipeline
into
that
repository-
I
just
click
open
blue
ocean
and
click
new
pipeline,
and
now
it
asks
me
which,
where
do
I
keep
my
code
and
okay,
bitbucket
bitbucketserver,
github,
enterprise,
github
or
just
vanilla
gift?
A
A
Okay,
now
I've
got
to
get
some
a
username
and
password.
So
for
this
I'm
going
to
go
to
bitbucket
cloud,
let's
see
and
so
get
bitbucket
and
I
may
have
to
turn
off
screen
sharing
briefly,
if
it
prompts
me
to
enter
a
password.
Let's
try
continue
with
oh
yeah.
Let's
try
this
just
to
see.
If
it's
connected
to
my
atlassian
account
that
way,
I
didn't
okay.
Now
I
have
to
insert
my
security
token.
A
Oh
I'm
so
proud
of
these
things,
because
I've
got
two
factor
off
yes,
okay,
good!
Here
we
go
all
right.
So
now,
let's
look
at
various
repositories.
So
here's
a
repository
now
this
one
already
has
a
jenkins
file
in
it.
So
it's
already
defined.
We
can
just
use
that
one
and
let's
try
that
or
if
we
would
like,
I
could
create
a
new
repository
that
doesn't
have.
A
A
A
D
A
A
A
So
it
found
not
just
my
master
branch
but
also
two
other
branches
and
ran
work
on
those
two
other
branches,
and
here
one
of
them's
already
finished
the
other
one's
finished
and
there
we
see
it.
This
is
all
just
part
of
blue
ocean
it
and
pipeline
graph
view.
The
one
that
marcel
was
referencing
gives
a
similar
view
to
this,
with
a
much
lighter
weight,
still
very,
very
new
environment.
So
here
we've
got
this
notice
in
the
top
right
hand,
corner
there's
this
little
pencil
icon.
A
A
A
A
Now
I'm
going
to
save
it
and,
in
this
case
add
a
parallel
test
change
the
change,
the
messages.
A
And
I
could
commit
it
to
a
new
branch
or
I
could
submit
it
right
to
master
either
is
fine,
you
have
a
preference
which
would
you
like
master
branch
or
a
new
branch.
A
A
Now,
if
I
go
back
to
bin
two
there's
my
build
first
test
second
test
and
deploy
now,
ultimately,
most
users
may
not
even
actually
look
at
these
views
right,
they
may
say.
Look
all
I
want
to
know
is
that
the
thing
finished
and
published
a
result
somewhere.
I
don't
care
about
the
pretty
view,
but
for
me
I
find
it
helpful
to
do
my
initial
layout
of
what
steps
should
be
in
my
pipeline
from
this
user
interface
so
that
I
don't
have
to
have
to
worry
about
exact
placement
of
braces
exact.
Where
does
everything
go?
A
G
A
Oh,
that's
a
very
good
question
and
the
answer
is
yes,
it's
okay!
So
now
that's!
I
would
call
that
almost
an
advanced
topic,
but
I'm
going
to
go
ahead
and
show
it
to
you.
If
that's
okay,
so
let's
you
say
well
what?
If
I,
what
if
I
want
to
just
experiment
with
something
and
not
not
commit
to
the
repository
here's
this
replay
facility.
A
A
Second,
test:
let's
see
first
test
yeah
so
and
then
deploying
yeah
there
we
go
so
so
I
have
changed
it,
I'm
going
to
say
run
now.
What
we'll
see
is
it's
going
to
do
the
checkout
it'll?
Okay,
these,
I
have
to
admit
the
steps,
are
all
very,
very
fast
right
because
all
they
are
saying
messages
and
but
now,
if
I
go
open
blue
ocean
and
look
at
that
thing,
let's
look
at
the
message
here.
Building
it
didn't
say
building
so
so
my
change
was
there
and
yet
I
never
deployed
it
to
the
repository.
G
Okay,
but
you
make
these
tweaks
in
a
text
editor
and
not
in
the
blue
ocean
interface
anymore.
A
A
I
think
so,
and
I've
never
tried
to
do
a
replay
in
blue
ocean,
but
I
don't
think
I
can.
So
let
me
let
me
double
check
that,
because
if
I
go
back
here,
let's
look
at
number
two
and
there
is
a
see
this
rerun
button.
But
when
I
click
the
rerun
here
in
the
top
right
hand
corner
my
recollection
is
all
that
does
is
rerun
the
the
job
exactly
as
it
was
defined.
A
So
I'll
look
at
three
and
here's
three,
and
if
we
and
now
guess
what
four
will
be
available
very
soon,
and
there
is
four
and
four
uses
uses
two
all
right.
So
I
reran
four
and
it
a
re-ran
two
and
it
did
it.
Did
it
as
a
new
job,
a
new
version,
a
new
number
four
okay,
so
yeah
there
isn't
a
way
in
blue
ocean
to
do
that.
Interactive,
rework
and
not
save
to
the
repository.
A
Now
now
there's
another
there's
another,
really
what
I
think
of
as
okay.
This
is
so
you
remember,
we
were
here
in
replay,
see
this
link
at
the
bottom.
This
thing
called
pipeline
syntax
that
is
magical,
I'm
going
to
click
that
and
we're
going
to
look
to
see
just
how
magical
that
is
so
so
in
the
pipeline
syntax
link.
A
It
opens
up
a
snippet
generator
where
I
decide
which
step
I
want
to
try.
Oh,
I
need
to
run
a
windows
batch
command
and
I
would
like
that
to
say
echo
hello
world
and
then
I
want
it
because
it's
windows,
I
want
to
say
dur,
slash,
od
and
by
advanced
settings
I
would
like
the
output
to
come
back
is
utf-8
and
I
want
to
know
the
return
value
of
this
thing.
So
I
want
the
exit
status,
oops
utf-8
and
I
want
the
return
status.
A
A
B
A
D
A
So
now,
if
we
go
back
here,
we
should
see
notice.
Here's
that
you
remember,
I
gave
it
echo
hello
world
endure
od
there.
It
is
so
so
pipeline.
Snippet
generator
is
a
great
way
to
make
your
life
simpler.
It
just
is
the
same
thing
exists
for
declarative
directives
as
well.
This
one
where
we
say
I
need
to
in
declarative
decide.
I
only
want
to
run
on
specifically
labeled
agents
like
one
with
the
label
windows
generate
that
and
there
it
is,
and
now
I
could
have
pasted
this
into
that
same
same
replay.
D
A
Right
so
you
have,
you
have
been
very
tolerant
of
almost
three
hours
of
this.
Thank
you
very
very
much.
I
would
like
to
be
able
to
attend
the
next
session
and
I
believe
it's
scheduled
to
start
in
about
five
minutes,
because
I
want
to
talk
about
java
11
with
others.
Any
questions
you've
got
in
the
last
five
minutes
before
we
end.
F
Hello
mark
this
is
sadesh
over
here
once
again,
yesterday,
hi
in
this
in
this
in
the
pipeline
script,
can
you
please
help
me
know
if
there
is
a
requirement
for
a
restart?
How
can
I
implement
that
so
restart
from
a
particular
stage.
B
F
A
So
I
I
that's
a
good
question.
Unfortunately,
I'm
not
sure
siddesh
that
I
know
the
answer,
because
I'm
used
to
using
restart
from
stage
at
this
level
and
then
and
then
now,
if
I
remember
correctly,
we
may
have
to
ask
darren
pope
or
some
other
friends
with
more
pipeline
experience.
I
suspect
what
you
need
to
do
is
in
preceding
stages.
You
need
to
stash
the
results
of
that
stage
so
that
you
can
unstash
it
stash
or
archive
the
results
of
that
stage,
so
that
you
can
unstash
it
in
the
later
stage.
A
So
I'm
not
sure
how
to
how
to
guarantee
you
that
the
restart
from
stage
does
not
perform
the
work.
Oh
here
it
is
actually
there.
We
see
it.
Okay,
it's
showing
it.
It
skipped
the
build
stage
and
assumed
it
could
run
right
into
test,
so
restart
from
stage
did
do
what
we
expect
here.
Let's
look
at
it
in
blue
ocean
to
see
yes,
okay
good,
so
it
did
do
the
skip.