This document appears to be a presentation about creating custom tasks for the Bamboo continuous integration and deployment tool. It discusses the Builder and Task APIs in Bamboo for developing plugins, provides examples of implementing a TaskType interface, and notes that tasks are now installable without Bamboo restarts. It encourages keeping tasks simple and provides resources for getting help with Bamboo development.
12. “ The #bamboo 3.1 task plugin api looks great. No
more excuses #adaptavist for not upgrading
bamboo
”
Dev Doctor (dev_doctor) via
11
Friday, 30 September 11
31. Releasing Bamboo
Build and test Bamboo
24
Friday, 30 September 11
32. Releasing Bamboo
Build and test Bamboo
Publishes virtual machine
image on Amazon ec2
24
Friday, 30 September 11
33. Releasing Bamboo
Build and test Bamboo
Publishes virtual machine
image on Amazon ec2
Copies artifacts to the public
Maven repo
24
Friday, 30 September 11
34. Releasing Bamboo
Build and test Bamboo
Publishes virtual machine
image on Amazon ec2
Copies artifacts to the public
Maven repo
Copies .dmg, .exe’s, .wars and .tars to atlassian.com
24
Friday, 30 September 11
35. As we add complexity, our
tools fail us
25
Friday, 30 September 11
36. You might have something
like this
26
Friday, 30 September 11
37. You might have something
like this
26
Friday, 30 September 11
38. But all that trouble could be
as easy as...
27
Friday, 30 September 11
39. But all that trouble could be
as easy as...
27
Friday, 30 September 11
43. Builder API
c.a.bamboo.builder.MyBuilder
30
Friday, 30 September 11
44. Builder API
com.atlassian.bamboo.builder.Builder
c.a.bamboo.builder.MyBuilder
30
Friday, 30 September 11
45. Builder API
com.atlassian.bamboo.builder.Builder or...
c.a.bamboo.builder.MyBuilder
30
Friday, 30 September 11
46. Builder API
com.atlassian.bamboo.builder.Builder or... c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
30
Friday, 30 September 11
47. Builder API
c.a.bamboo.atlassian.v2.builder.BuilderV2
com.atlassian.bamboo.builder.Builder or... c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
30
Friday, 30 September 11
48. Builder API
?!!!
c.a.bamboo.atlassian.v2.builder.BuilderV2
WTF
com.atlassian.bamboo.builder.Builder or... c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
30
Friday, 30 September 11
49. Builder API
c.a.bamboo.atlassian.builder.PostConfigurableBuilder
?!!!
c.a.bamboo.atlassian.v2.builder.BuilderV2
WTF
com.atlassian.bamboo.builder.Builder or... c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
30
Friday, 30 September 11
50. Builder API
Appar
ently
NO T o
p t io n
c.a.bamboo.atlassian.builder.PostConfigurableBuilder
al...
?!!!
c.a.bamboo.atlassian.v2.builder.BuilderV2
WTF
com.atlassian.bamboo.builder.Builder or... c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
30
Friday, 30 September 11
51. Builder API
c.a.bamboo.builder.MutableEnvironmentVariables...
Appar
ently
NO T o
p t io n
c.a.bamboo.atlassian.builder.PostConfigurableBuilder
al...
?!!!
c.a.bamboo.atlassian.v2.builder.BuilderV2
WTF
com.atlassian.bamboo.builder.Builder or... c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
30
Friday, 30 September 11
52. Builder API
c.a.bamboo.builder.EnvironmentVariablesAwareBuilder
c.a.bamboo.builder.MutableEnvironmentVariables...
Appar
ently
NO T o
p t io n
c.a.bamboo.atlassian.builder.PostConfigurableBuilder
al...
?!!!
c.a.bamboo.atlassian.v2.builder.BuilderV2
WTF
com.atlassian.bamboo.builder.Builder or... c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
30
Friday, 30 September 11
53. Builder API
c.a.bamboo.builder.EnvironmentVariablesAwareBuilder
vad oc!?
N o ja
c.a.bamboo.builder.MutableEnvironmentVariables...
Appar
ently
NO T o
p t io n
c.a.bamboo.atlassian.builder.PostConfigurableBuilder
al...
?!!!
c.a.bamboo.atlassian.v2.builder.BuilderV2
WTF
com.atlassian.bamboo.builder.Builder or... c.a.bamboo.builder.AbstractBuilder
c.a.bamboo.builder.MyBuilder
30
Friday, 30 September 11
55. Task API
@PublicApi
public interface TaskType
{
TaskResult execute(TaskContext taskContext) throws TaskException;
}
32
Friday, 30 September 11
56. Task API
Only interface you must implement
@PublicApi
public interface TaskType
{
TaskResult execute(TaskContext taskContext) throws TaskException;
}
32
Friday, 30 September 11
57. Task API
Only interface you must implement
@PublicApi
public interface TaskType
{
TaskResult execute(TaskContext taskContext) throws TaskException;
}
Do what you need todo here
32
Friday, 30 September 11
58. Task API
Only interface you must implement
@PublicApi
public interface TaskType
{
TaskResult execute(TaskContext taskContext) throws TaskException;
}
Do what you need todo here Provides configuration, working
directory and other context info
32
Friday, 30 September 11
59. Task API
Only interface you must implement
@PublicApi
public interface TaskType
{
TaskResult execute(TaskContext taskContext) throws TaskException;
}
Do what you need todo here Provides configuration, working
Success or failure?
directory and other context info
32
Friday, 30 September 11
60. We now mark whats safe to use!!
Task API
Only interface you must implement
@PublicApi
public interface TaskType
{
TaskResult execute(TaskContext taskContext) throws TaskException;
}
Do what you need todo here Provides configuration, working
Success or failure?
directory and other context info
32
Friday, 30 September 11
65. 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.
”
#atlascamp
35
Friday, 30 September 11
66. SCP Xcode .NET Tomcat
Available now under the Apache 2 License at https://bitbucket.org/atlassian
36
Friday, 30 September 11
67. Where can I get help?
Atlassian Answers
Use tags: bamboo & bamboo-development
answers.atlassian.com
Atlassian Developer Network
developer.atlassian.com
@atldevtools
@jensschumacher
@i386
37
Friday, 30 September 11