Upload
james-dumay
View
2.148
Download
0
Embed Size (px)
DESCRIPTION
Bamboo is on a tear – three major releases so far this year and more on the way. And every release has brought more capabilities to plugin developers. The Bamboo Product Manager will show you examples of the awesome new pluggability of Bamboo. You'll learn how to build reusable build system components with Bamboo's Task API and share them with other developers on the Atlassian Plugin Exchange.
Citation preview
Friday, 30 September 11
2Friday, 30 September 11
3Friday, 30 September 11
Building awesome Bamboo plugins with ease
Jens Schumacher, James DumayAtlassian
Bamboo Tasks
4Friday, 30 September 11
5
Status Ribbon
Details
Shared Artifacts
History
Test Summary
Code Changes
JIRA Issues
Friday, 30 September 11
6
Plan
Stage
Job
Friday, 30 September 11
7Friday, 30 September 11
8Friday, 30 September 11
9Friday, 30 September 11
9Friday, 30 September 11
10Friday, 30 September 11
The #bamboo 3.1 task plugin api looks great. No
more excuses #adaptavist for not upgrading
bamboo
Dev Doctor (dev_doctor) via
”“
11Friday, 30 September 11
12
One method to implement
Friday, 30 September 11
13Friday, 30 September 11
14Friday, 30 September 11
15Friday, 30 September 11
16Friday, 30 September 11
Task Competition
17Friday, 30 September 11
Task Competition
17Friday, 30 September 11
Task Competition
17Friday, 30 September 11
Task Competition
17Friday, 30 September 11
Task Competition
17Friday, 30 September 11
#atlascamp
TAKE-AWAYS
Writing Task Plugins for Bamboo is easy. And
sharing Plugins just got easier. “ ”
18Friday, 30 September 11
Friday, 30 September 11
20
HaHandwavium
Friday, 30 September 11
20
HaHandwavium
Friday, 30 September 11
21
Why would you want to create a Bamboo Task?
Friday, 30 September 11
22
Its more than tests
Friday, 30 September 11
23
What is automation?
Friday, 30 September 11
24
Releasing Bamboo
Friday, 30 September 11
24
Build and test Bamboo
Releasing Bamboo
Friday, 30 September 11
24
Build and test Bamboo
Publishes virtual machine image on Amazon ec2
Releasing Bamboo
Friday, 30 September 11
24
Build and test Bamboo
Copies artifacts to the public Maven repo
Publishes virtual machine image on Amazon ec2
Releasing Bamboo
Friday, 30 September 11
24
Build and test Bamboo
Copies artifacts to the public Maven repo
Publishes virtual machine image on Amazon ec2
Copies .dmg, .exe’s, .wars and .tars to atlassian.com
Releasing Bamboo
Friday, 30 September 11
25
As we add complexity, our tools fail us
Friday, 30 September 11
26
You might have something like this
Friday, 30 September 11
26
You might have something like this
Friday, 30 September 11
27
But all that trouble could be as easy as...
Friday, 30 September 11
27
But all that trouble could be as easy as...
Friday, 30 September 11
28
Made possible by Java
Friday, 30 September 11
29
Some history
Friday, 30 September 11
30
Builder API
Friday, 30 September 11
30
c.a.bamboo.builder.MyBuilder
Builder API
Friday, 30 September 11
30
c.a.bamboo.builder.MyBuilder
com.atlassian.bamboo.builder.Builder
Builder API
Friday, 30 September 11
30
c.a.bamboo.builder.MyBuilder
com.atlassian.bamboo.builder.Builder
Builder API
or...
Friday, 30 September 11
30
c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
com.atlassian.bamboo.builder.Builder
Builder API
or...
Friday, 30 September 11
30
c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
com.atlassian.bamboo.builder.Builder
c.a.bamboo.atlassian.v2.builder.BuilderV2
Builder API
or...
Friday, 30 September 11
30
c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
com.atlassian.bamboo.builder.Builder
c.a.bamboo.atlassian.v2.builder.BuilderV2
Builder API
or...WTF?!!!
Friday, 30 September 11
30
c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
com.atlassian.bamboo.builder.Builder
c.a.bamboo.atlassian.v2.builder.BuilderV2
c.a.bamboo.atlassian.builder.PostConfigurableBuilder
Builder API
or...WTF?!!!
Friday, 30 September 11
30
c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
com.atlassian.bamboo.builder.Builder
c.a.bamboo.atlassian.v2.builder.BuilderV2
c.a.bamboo.atlassian.builder.PostConfigurableBuilder
Builder API
or...WTF?!!!
Apparently NOT optional...
Friday, 30 September 11
30
c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
com.atlassian.bamboo.builder.Builder
c.a.bamboo.atlassian.v2.builder.BuilderV2
c.a.bamboo.atlassian.builder.PostConfigurableBuilder
Builder API
c.a.bamboo.builder.MutableEnvironmentVariables...
or...WTF?!!!
Apparently NOT optional...
Friday, 30 September 11
30
c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
com.atlassian.bamboo.builder.Builder
c.a.bamboo.builder.EnvironmentVariablesAwareBuilder
c.a.bamboo.atlassian.v2.builder.BuilderV2
c.a.bamboo.atlassian.builder.PostConfigurableBuilder
Builder API
c.a.bamboo.builder.MutableEnvironmentVariables...
or...WTF?!!!
Apparently NOT optional...
Friday, 30 September 11
30
c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
com.atlassian.bamboo.builder.Builder
c.a.bamboo.builder.EnvironmentVariablesAwareBuilder
c.a.bamboo.atlassian.v2.builder.BuilderV2
c.a.bamboo.atlassian.builder.PostConfigurableBuilder
Builder API
c.a.bamboo.builder.MutableEnvironmentVariables...
or...WTF?!!!
Apparently NOT optional...
No javadoc!?
Friday, 30 September 11
31Friday, 30 September 11
32
Task API
@PublicApipublic interface TaskType { TaskResult execute(TaskContext taskContext) throws TaskException;}
Friday, 30 September 11
32
Task API
@PublicApipublic interface TaskType { TaskResult execute(TaskContext taskContext) throws TaskException;}
Only interface you must implement
Friday, 30 September 11
32
Task API
@PublicApipublic interface TaskType { TaskResult execute(TaskContext taskContext) throws TaskException;}
Only interface you must implement
Do what you need todo here
Friday, 30 September 11
32
Task API
@PublicApipublic interface TaskType { TaskResult execute(TaskContext taskContext) throws TaskException;}
Only interface you must implement
Do what you need todo here Provides configuration, working directory and other context info
Friday, 30 September 11
32
Task API
@PublicApipublic interface TaskType { TaskResult execute(TaskContext taskContext) throws TaskException;}
Only interface you must implement
Do what you need todo here Provides configuration, working directory and other context info
Success or failure?
Friday, 30 September 11
32
Task API
@PublicApipublic interface TaskType { TaskResult execute(TaskContext taskContext) throws TaskException;}
Only interface you must implement
Do what you need todo here Provides configuration, working directory and other context info
Success or failure?
We now mark whats safe to use!!
Friday, 30 September 11
33
Available in Bamboo 3.1 and up
Friday, 30 September 11
33
Available in Bamboo 3.1 and up
Yep, we are keepin
g it stable
Friday, 30 September 11
33
Available in Bamboo 3.1 and up
Yep, we are keepin
g it stable
...and in 3.3, installable without restarts!
Friday, 30 September 11
34
SCP
Friday, 30 September 11
#atlascamp
TAKE-AWAYS
Its never been easier to use Bamboo to build your
own custom automation processes, quickly, cheaply
and without fear. Just keep it simple.
“”
35Friday, 30 September 11
36
Available now under the Apache 2 License at https://bitbucket.org/atlassian
SCP Xcode .NET Tomcat
Friday, 30 September 11
37
developer.atlassian.com
Where can I get help?
Use tags: bamboo & bamboo-development
Atlassian Developer Network
@atldevtools
answers.atlassian.com
Atlassian Answers
@jensschumacher@i386
Friday, 30 September 11
Thank you!
Friday, 30 September 11