Ichiba Bamboo Users Meetng #1

Post on 08-Jan-2017

883 views 0 download

Transcript of 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

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

3

Introduction of new features

1. Linked repository2. Deployment project

4

Introduction (1) Linked repository

Bamboo and Jira collaborate effectively!!!

Before After

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

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

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.)

8

Linked repository show case

Bamboo build plan is automatically branched

Build process automatically started

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

10

Linked repository show case

Jira Bamboo(build plan)

Jira Git

11

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

12

Linked repository show case: Step 4, 5

(4) commit

(4) commit

(5) push

13

Linked repository show case

Build process automatically started

14

Linked repository show case

Automatic deployment

15

Linked repository show case

Commit logs

Deployment logs

16

Linked repository show case

Link to Bamboo (build) Link to

GIT(commits)

Link to Bamboo (deployments)

17

Linked repository show case

18

Linked repository show case

19

Linked repository show case

Build result

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

21

Deployment project show case

Environments Deployment info

22

Deployment project show case

Automatic deployment

23

Deployment project show case

Manual deployment

24

Deployment project show case

changes between deployments

25

Deployment project show casePermission setting

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

27

Naming recommendation

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

• JRMS mavensample, JRMS aaa-api

• Deployment plan --> Release versioning– develop-${bamboo.buildNumber}-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

29

QA, Discussion

30

Thank you!