Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

이 페이지에서는 Bamboo Data Center로 마이그레이션하는 프로세스를 간략하게 설명합니다.

Bamboo를 처음으로 설치하는 경우는 Bamboo Data Center 설치를 참조하여 주시기 바랍니다.

Table of Contents

데이터 센터 마이그레이션

기존 Bamboo 인스턴스

Bamboo 현재 상태의 구성은 다음과 같습니다.

...

  • 녹색 아이콘 의 "O"는 기존 Bamboo 인스턴스를 나타냅니다.

신규 Bamboo 인스턴스 설치하기

Bamboo Data Center 설치 참조

신규 인스턴스 설치 후 구성 상황은 아래와 같습니다.

...

  • 녹색 아이콘의 "O"는 기존 Bamboo 인스턴스 입니다.

  • 녹색 아이콘의 "N"은 새 Bamboo 인스턴스를 나타냅니다.

  • 녹색 아이콘의 "D"는 새 Bamboo 인스턴스에서 사용하는 더미 데이터베이스를 나타냅니다.

데이터베이스 작업

모든 데이터가 있는 “O”로 이동하여 데이터베이스 덤프를 생성합니다.

  1. "O" Bamboo 인스턴스 중지

  2. <bamboo-home>/bamboo.cfg.xml 파일에서 데이터베이스 세부 정보 검토

    Code Block
    languagebash
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.password">PASSWORD</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost/BAMBOO-DB?autoReconnect=true</property>
    <property name="hibernate.connection.username">USERNAME</property>
    <property name="hibernate.dialect">com.atlassian.hibernate.dialect.MySQL5Dialect</property>
    <property name="hibernate.setup">true</property>
  3. 데이터베이스 덤프 생성

데이터베이스 덤프 작업 후 구성 상황은 아래와 같습니다.

...

  • 녹색 아이콘의 "O"는 기존 Bamboo 인스턴스 입니다.

  • 녹색 아이콘의 "N"은 새 Bamboo 인스턴스를 나타냅니다.

  • 녹색 아이콘의 "D"는 새 Bamboo 인스턴스에서 사용하는 더미 데이터베이스를 나타냅니다.

  • 녹색 아이콘의 "R"은 복원된 데이터베이스를 나타냅니다.

Image Added

"N" Bamboo 인스턴스의  <bamboo-home>/bamboo.cfg.xml 파일에서 "D" 데이터베이스 세부 정보를 제거 하고 "R" 데이터베이스로 업데이트합니다. 

<bamboo-home> 디렉토리 작업

  • "O" 인스턴스의 <bamboo-home>을 "N" Bamboo 인스턴스에 복사합니다.

...

  • "N" Bamboo 인스턴스에서 bamboo-init.properties를 열고 편집합니다.

    Code Block
    $ vi <bamboo-install>/atlassian-bamboo/WEB-INF/classes/bamboo-init.properties
    ...
    bamboo.home=<복사한 bamboo-home 경로>
  • bamboo.cfg.xml  파일을 열고 복원된 데이터베이스 R 세부 정보를 반영하도록 다음 속성을 변경합니다.

    Code Block
    $ vi <bamboo-home>/bamboo.cfg.xml
    ...
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.password">PASSWORD</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost/BAMBOO-DB-RESTORED?autoReconnect=true</property>
    <property name="hibernate.connection.username">USERNAME</property>
    <property name="hibernate.dialect">com.atlassian.hibernate.dialect.MySQL5Dialect</property>
    <property name="hibernate.setup">true</property>
Note

이 파일을 새 설치의 파일로 덮어쓰지 마십시오. 위 내용만 업데이트할 수 있습니다. 이전 bamboo.cg.xml파일에 보관하려는 사용자 지정 세부 정보가 있을 수 있습니다. 또한 이전 빌드 번호를 저장하여 다음에 Bamboo를 다시 시작할 때 필요한 업그레이드 작업을 트리거합니다.

  • 결과적으로 아래와 같이 구성됩니다.

...

  • "N" Bamboo 인스턴스를 시작 합니다.

Info

Bamboo를 업그레이드하는 경우 이 단계에서 복원된 "R" 데이터베이스가 “N” Bamboo 인스턴스와 호환되도록 업그레이드를 시작합니다.

Trouble Shooting

증상 1

Bamboo에서 사용자 관리로 JIRA/Crowd 또는 LDAP을 사용하고 마이그레이션/업그레이드 후 로그인할  수 없는 경우

해결 1

  1. Bamboo 중지

  2. <bamboo-home>/xml-data/configuration/atlassian-user.xml 수정

    Code Block
    <atlassian-user>
        <repositories>
            <hibernate name="Hibernate Repository" key="hibernateRepository" description="Hibernate Repository" cache="true"/>
        </repositories>
    </atlassian-user>
  3. Bamboo 시작

Info

Bamboo를 시작하고 Bamboo 설치 프로세스 중에 자격 증명 설정을 사용하여 로그인할 수 있어야 합니다.

증상 2

Windows에서 Linux로 또는 그 반대로 마이그레이션하는 경우, atlassian-bamboo.log에 아래와 같은 에러 발생

Code Block
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.crowd.integration.atlassianuser.UserConfigurationPersisterImpl]: Constructor threw exception; nested exception is java.io.FileNotFoundException: File '/bamboo/bamboo-home\xml-data\configuration/atlassian-user.xml' does not exist
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:186)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:795)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:713)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:386)
	... 197 more
Caused by: java.io.FileNotFoundException: File '/bamboo/bamboo-home\xml-data\configuration/atlassian-user.xml' does not exist
	at org.apache.commons.io.FileUtils.openInputStream(FileUtils.java:299)
	at org.apache.commons.io.FileUtils.readFileToString(FileUtils.java:1711)
	at org.apache.commons.io.FileUtils.readFileToString(FileUtils.java:1748)
	at com.atlassian.crowd.integration.atlassianuser.UserConfigurationPersisterImpl.detectPersistedConfigurationType(UserConfigurationPersisterImpl.java:84)
	at com.atlassian.crowd.integration.atlassianuser.UserConfigurationPersisterImpl.<init>(UserConfigurationPersisterImpl.java:27)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85)
	... 202 more

원인

Windows에서 디렉토리 사이를 탐색하는 방법은 백슬래시 "\"로 제공되는 반면 Linux에서는 슬래시 "/"를 사용합니다.

Code Block
Caused by: java.io.FileNotFoundException: File '/bamboo/bamboo-home\xml-data\configuration/atlassian-user.xml' does not exist

해결

  • Bamboo 중지

  • Windows 포멧에서 <bamboo-home>/bamboo.cfg.xml 수정하여 아래 부분 "/" 업데이트

    Code Block
    ...
        <property name="bamboo.artifacts.directory">${bambooHome}\artifacts</property>
        <property name="bamboo.config.directory">${bambooHome}\xml-data\configuration</property>
    ...
        <property name="bamboo.project.directory">${bambooHome}\xml-data\builds</property>
        <property name="buildWorkingDir">${bambooHome}\xml-data\build-dir</property>
        <property name="daily.backup.dir">${bambooHome}\backups</property>
    ...
        <property name="lucene.index.dir">${bambooHome}\index</property>
        <property name="webwork.multipart.saveDir">${bambooHome}\temp</property>
  • Linux 포멧에서 <bamboo-home>/bamboo.cfg.xml 수정하여 아래 부분 "\" 업데이트

    Code Block
    ...
        <property name="bamboo.artifacts.directory">${bambooHome}/artifacts</property>
        <property name="bamboo.config.directory">${bambooHome}/xml-data/configuration</property>
    ...
        <property name="bamboo.project.directory">${bambooHome}/xml-data/builds</property>
        <property name="buildWorkingDir">${bambooHome}/xml-data/build-dir</property>
        <property name="daily.backup.dir">${bambooHome}/backups</property>
    ...
        <property name="lucene.index.dir">${bambooHome}/index</property>
        <property name="webwork.multipart.saveDir">${bambooHome}/temp</property>
  • Bamboo 시작