30
Ichiba Bamboo Users Meeting #1 2015/11/24 Takahiro Yamaki / 山山 山山 Technical Leading Team, Team Manager Japan RMS R-Backoffice Group Japan Ichiba Section Rakuten Ichiba Development Department

Ichiba Bamboo Users Meetng #1

Embed Size (px)

Citation preview

Page 1: Ichiba Bamboo Users Meetng #1

Ichiba Bamboo Users Meeting #12015/11/24

Takahiro Yamaki / 山木 隆寛

Technical Leading Team, Team ManagerJapan RMS R-Backoffice GroupJapan Ichiba SectionRakuten Ichiba Development Department

Page 2: Ichiba Bamboo Users Meetng #1

2

IBUM Objectives

* Ichiba Bamboo Users Meeting

1. Share new info of Bamboo 2. Share issues with other engineers and

think solutions together

Decrease Ichiba development lead time using Bamboo effectively

Page 3: Ichiba Bamboo Users Meetng #1

3

Introduction of new features

1. Linked repository2. Deployment project

Page 4: Ichiba Bamboo Users Meetng #1

4

Introduction (1) Linked repository

Bamboo and Jira collaborate effectively!!!

Before After

Page 5: Ichiba Bamboo Users Meetng #1

5

Introduction (2) Deployment project

Before After

clone

build

test

Artifacts

deploy

Build Planclone

build

test

Artifacts

Dev deploy

Build Plan

Deploy project

STG deployPROD deploy

Page 6: Ichiba Bamboo Users Meetng #1

6

Show cases

• Preconditions1. Branch name is ticket ID2. hook script inserts branch name (= ticket

ID) into your commit message.• Or you must input ticket ID in your comments.

<sample>

$ cat .git/hooks/prepare-commit-msg#!/bin/sh#mv $1 $1.tmpecho -n "[`git branch | grep "*" | awk '{print $2}' | sed -e "s/feature\///g" | sed -e "s/hotfix\///g"`] " > $1cat $1.tmp >> $1

Page 7: Ichiba Bamboo Users Meetng #1

7

Linked repository show case: Step 1, 2

develop

feature/JICHIBA-10887

origin/feature/JICHIBA-10887

(1) branch

(2) push

Ticket ID = Branch nameChange only version info. (pom.xml, etc.)

Page 8: Ichiba Bamboo Users Meetng #1

8

Linked repository show case

Bamboo build plan is automatically branched

Build process automatically started

Page 9: Ichiba Bamboo Users Meetng #1

9

Build plan branch?

gitrepository_A

Build plan A (default)StashRepo =repository_ABranch = developProperty1= hoge Property2= fooBuild()

develop

feature/T-123

Build plan A (feature/T-123)Branch = feature/T-123Property1= hogehoge123

Page 10: Ichiba Bamboo Users Meetng #1

10

Linked repository show case

Jira Bamboo(build plan)

Jira Git

Page 11: Ichiba Bamboo Users Meetng #1

11

Linked repository show case: Step 3(option) setting for auto deployment

Page 12: Ichiba Bamboo Users Meetng #1

12

Linked repository show case: Step 4, 5

(4) commit

(4) commit

(5) push

Page 13: Ichiba Bamboo Users Meetng #1

13

Linked repository show case

Build process automatically started

Page 14: Ichiba Bamboo Users Meetng #1

14

Linked repository show case

Automatic deployment

Page 15: Ichiba Bamboo Users Meetng #1

15

Linked repository show case

Commit logs

Deployment logs

Page 16: Ichiba Bamboo Users Meetng #1

16

Linked repository show case

Link to Bamboo (build) Link to

GIT(commits)

Link to Bamboo (deployments)

Page 17: Ichiba Bamboo Users Meetng #1

17

Linked repository show case

Page 18: Ichiba Bamboo Users Meetng #1

18

Linked repository show case

Page 19: Ichiba Bamboo Users Meetng #1

19

Linked repository show case

Build result

Page 20: Ichiba Bamboo Users Meetng #1

20

Linked repository summary

• Preconditions– Branch name is ticket ID– hook script inserts branch name in commit log

• Development tools are integrated each other

Buildresults

gitTicket

DeployResults

Page 21: Ichiba Bamboo Users Meetng #1

21

Deployment project show case

Environments Deployment info

Page 22: Ichiba Bamboo Users Meetng #1

22

Deployment project show case

Automatic deployment

Page 23: Ichiba Bamboo Users Meetng #1

23

Deployment project show case

Manual deployment

Page 24: Ichiba Bamboo Users Meetng #1

24

Deployment project show case

changes between deployments

Page 25: Ichiba Bamboo Users Meetng #1

25

Deployment project show casePermission setting

Page 26: Ichiba Bamboo Users Meetng #1

26

Deployment project summary

• Easy to find– What builds are deployed– What changes were made between

deployments • Easy to know

– What was deployed, and when and where it was deployed

• Can control– Who can deploy

Page 27: Ichiba Bamboo Users Meetng #1

27

Naming recommendation

• Linked repository– ${git Project key} ${Repository name}– Sample

• JRMS mavensample, JRMS aaa-api

• Deployment plan --> Release versioning– develop-${bamboo.buildNumber}-1

Page 28: Ichiba Bamboo Users Meetng #1

28

Summary

1. Linked repository integrates Jira, git, build, and deployment info.

2. Deployment project decrease your deploy, release management cost.

Decrease Ichiba development lead time using Bamboo effectively

Page 29: Ichiba Bamboo Users Meetng #1

29

QA, Discussion

Page 30: Ichiba Bamboo Users Meetng #1

30

Thank you!