728x90

Windows 기반에 SVN 서버가 동작할 때, Hook 설정이다.

특히 SVN에서 Commit Action에 Jenkins를 연결할 때 사용하는 방법이다.


1. hook 폴더로 이동.

2. post-commit.bat 파일 작성

3. post-commit.bat 파일 내에 아래와 같이 작성

powershell -Command (New-Object System.Net.WebClient).DownloadString(\"http:///job//build?delay=0sec\");


4. 저장 후 Commit.


만일 인증 토큰을 이용하는 경우에는 URL 부분을 좀 손을 봐야 한다.

powershell -Command (New-Object System.Net.WebClient).DownloadString(\"http://:@/job//build?token=&delay=0sec\");


Linux인 경우에는 CUrl 이라는 명령으로 처리한다.

728x90
728x90

SVN 기능 중 Svnsync 라는 기능이 있어, 원격에서 서로 다른 레파지토리를 동기화 시킬 수 있다.
물론 양 측의 리비전을 맞추기 위해서는 저장 대상이 되는 위치는 빈 데이터이여야 한다.

그런데 복사해야할 레파지토리가 오래된 경우 데이터가 매우 커서 한번 Sync를 시도하면 세월아 내월하가 될 수 있다. 더욱이 특정 버전에서 파일크기가 크면, http 기반의 svn 서버 중 일부는 에러를 내고 이야기를 진행하지 못하는 경우도 있다.

이 경우에 처리하는 방법은 다음과 같다.

1. svnadmin dump를 이용해서 원본 데이터를 뜬다.

2. 복제 대상에 원본 데이터를 svnadmin load를 이용해서 붇는다.

3. svnsync init 할 때, --allow-non-empty를 넣어 처리한다.


즉 svnsync 초기화 할 때, --allow-non-empty를 하면된다.


그리고 그 뒤는 sync로 연속.


만일 sync 중 오류가 나면, 해당 revision만 dump를 뜨고 다시 대상에서 붇고 sync를 다시해준다.


중요한 것은 쌍방의 버전이 동일하게 진행되어야 한다.


728x90
728x90

프로젝트 중에 WPF로 작성된 프로젝트가 있다.
과거 Visual Studio 2010용으로 제작하고, Blend를 이용해 작성되어 있다.
문제는 Visual Studio 2017로 넘어오면서 이 프로젝트자체가 Load되지 않아 아무런 작업을 못했다.
.

아마도 과거 Blend를 사용한 결과물이 프로젝트 설정 값에 녹아 있지 않을까 하는 짐작만 든다.
위의 메시지를 읽어보면, Expression.Blend.WPF.targets 라는 파일의 부재로 인해 발생되는 문제 같다.

고작해야 프로젝트 빌드만 할 것인데, 이제와서 Blend 4.0을 설치하기는 싫고 고민 고민하는 중에, google 검색 결과 Blend SDK를 설치하라는 메시지를 보아, 그 내용대로 SDK를 설치해봤다.

BlendWPFSDK_ko.msi

파일을 다운받아 설치한 뒤, Visual Studio를 재시작했다.

정상적으로 프로젝트를 Load되고 컴파일까지 되는 것을 확인했다.

728x90
728x90

MS에서 Visual Studio 2017을 배포할 때 예전처럼 ISO 버전을 만들어 하나의 파일로 배포하지 않는다. 요즘은 필요한 기능들을 선택하면, 그에 맞는 설치본을 다운로드 한 뒤 설치하도록 유도한다.
그래서 최소한 설치시 최신 버전을 다운로드 받아 설치할 수 있도록 해준다.

하지만, 네트워크 상태가 안좋거나 여러가지 여건상 인터넷이 안되는 곳에서 하려면 이래저래 애로사항이 클 수 밖에 없다. 특히나 전체 다운로드 양이 4G를 넘어가는 순간, 마치 Windows 7에서 Windows 10 넘어가는 업데이트 처럼 마냥 기다려야 되는 불상사가 벌어질 수도 있다.

그래서 이런 저런 글을 찾아보니, 다운로드용 프로그램의 옵션을 넣어 미리 다 다운로드 받을 수 있는 방법이 있어 적어 놓는다.


mu_visual_studio_professional_2017_version_15.2_x86_x64_10436510.exe --layout G:\ETC\VS2017 --lang en-US ko-KR


커뮤니티 버전이나 프로페셔날 버전을 받으면 exe 파일을 다운 받게 되는데, 그 파일이름을 적고 두가지 옵션을 넣는다.

--layout

다운로드 받을 위치를 잡는다. 로컬 드라이브( C, D, E 드라이브 등 ) 로 잡고 용량이 못해도 30G 이상의 여유공간을 확보한 위치로 잡는다. (위의 옵션으로 다운로드 받은 전체 파일 크기는 27.1G 가 나옴)

--lang

프로페셔날 이상 버전은 문제없는데, 간혹 커뮤니티 버전의 경우 언어가 맞지 않다고 설치 안되는 경우가 있다. 이에 미리 언어별로 다운로드 받는다. en-US 면 당연히 영어권 버전, ko-KR이면 한글 버전을 의미한다. 두개 동시에 쓰면 두가지 버전을 다 다운로드 받게 된다.


다 다운로드 받고 layout으로 잡는 위치에 있는 "vs_setup.exe" 파일을 실행하면 된다.




728x90
728x90

요즘 Jenkins로 다양한 프로젝트를 자동 빌드를 진행하고 있다.

대부분은 SVN 버전관리를 이용해서인지, 사실 큰 어려움 없이 Jenkins 설정을 마칠 수 있었다.
그런데, SVN의 branch 와 merge에 대한 필요가 있어서 작업을 하려다가, 지속적으로 svn 버전간의 문제인지, 아니면 Yona의 문제인지, xml 어쩌고 저쩌고 에러가 나기 시작했다.

결국 포기하고, git으로 전환을 하긴했다.
버전 이력은 날라갔지만, Yona에서는 svn -> git이 매우 무난하게 진행이되었고, Visual Stuiod 내에도 정상적으로 연결할 수 있었다.

그런데 똭... Jenkins에서 정상적으로 소스를 다운받지 못하고 hang이 걸린 상태로 멍....


왜 이런가 하면서 이런 저런 참고 글들을 보고 뒤적였는데, 대부분의 경우는 git 을 통해서 jenkins로는 큰 이상 없이 잘 된다고 한다. 그런데, 딱하나.. git에 암호가 걸려서 소스 접근시 계정정보를 물어볼 때 이런 현상이 걸리는 것 같다.

동작 로그를 가만히 보니 아래와 같았다.

 git --version # timeout=10
using GIT_ASKPASS to set credentials user-up

GIT에 암호가 걸려서 그런거 같다.

내 빌드 서버는 Visual Studio로 빌드를 해야 되기 때문에, 안타깝게도 Linux로 구성된 것은 아니기 때문에, git을 윈도우 버전으로 설치해 놓은 상태이다.

그러니 당연히 git-Windows x64용이 설치되어 있고, 아무 생각없이 쭉 그대로 설치했었다.

그런데, 이게 걸림돌인듯...

Jenkins 플러그인인 git 은 자체적으로 credential을 이용하는데, git 프로그램에서 자체적으로 가진 credential  프로그램으로 인증하라고 뜬다. ( 마치 NTLM 아이디, 패스워드 묻는 창 )

이거 때문에 행이 걸리는 것이였다.


해결하는 방법은 간단하다.

일단 git 창을 연다. (대개 도스창)

그리고 다음 명령을 하나씩 넣는다.

git config --global --unset credential.helper
git config --system --unset credential.helper


아마 전체, 시스템 설정이므로, 아무데서나 실행하면 된다.

위와 같이 넣자~ 자동으로 쭈루루룩....

여튼 jenkins와 git은 아직 나에겐 미스터리 투성이다.







728x90
728x90

Visual Studio Code라는 솔루션을 MS에서 출시했었다.
출시 당시만 해도 주변 및 해외에서는 놀라운 솔루션이라고 했고, 많은 극찬을 받았다.
하지만, 달랑 뜨는 검은 바탕화면에 Text Editor 같은 프로그램이 떠서 많이 황당했던 기억이였다.
게다가 많은 기능을 완전히 숨긴 형태여서 어디에 무슨 기능이 있는지 확인하는 것도 무척 어려웠다.
그리고 잊혀졌다.

그러다가, PHP 관련해서 몇가지 작업할게 있어서 마땅한 에디터를 찾지 못하고 있었다.
한동안은 Editplus을 이용해서 작업을 했지만, MAC 환경에서 하려다 보니 Editplus를 쓸 수가 없었다.
그래서 잠시 유료 솔루션에 대해서 이런저런 뒤적 뒤적 했지만, 결국 독립적인 프로그램들을 연계해서 쓰는 방법이 유일했다.

그러다가 문득 Visual Studio Code라는 솔루션이 생각이 났다.
이 솔루션이 참으로 좋은것이 Windows용 뿐만 아니라, MAC 또는 Linux용 모든 OS에 아키텍처를 지원했다.
그래서 이거다 싶었고, 하나씩 기능을 탐색해보자, 생각보다 좋은 기능들이 많았다.
이 솔루션의 시작과 끝은 플러그인으로 제공되며, 플러그인을 이용하여 IDE를 구성하여 사용할 수 있게 한다.

지금 부터 아주 라이트한 PHP 개발 형태
- 직접 FTP에다 코드를 쓰는 형태 / 디버그는 웹브라우저? -를 위한 환경을 구축하는 방법을 제시한다.

Visual Studio Code 다운로드 그리고 설치.
Visual Studio Code 사이트에 접속한다. https://code.visualstudio.com/
해당 사이트에 가면 현재 플랫폼에 대해 다운로드 할 수 있다.


Windows용은 Installer 지원되는 exe 파일이고, MAC은 zip으로된 압축 파일을 다운로드 된다.

Windows에서는 그냥 실행해서 설치 마법사의 내용에 따라 진행하면 된다.
MAC의 경우에는 압축을 해제한 뒤, 압축 해제된 프로그램 파일을 Application 폴더에 옮기면 된다.
Linux용은 아직 설치해보지 않아서 잘 모르겠다.

설치는 이게 전부다. 끝이다. 

이제 그냥 프로그램을 실행한다.


FTP 플러그 인 설치.
앞서 설명했듯이 서버에 FTP로 접속해서 소스를 직접 수정하는 스타일의 환경을 구축하려 한다.
이를 위해서는 이 Visual Studio Code(이하 VSC) 에 이와 같은 기능을 갖는 FTP 플러그인을 설치해야 한다.
일단 VSC를 먼저 실행한다.
그리고 왼편의 메뉴에서 맨 아래 아이콘을 클릭한다

검색 창에 @sortinstalls 라고 적힌 부분에 ftp라고 입력하면 아래와 같이 ftp 관련 플러그인이 나열된다.

대략 3가지 정도의 플러그인이 나오는데 그 중 ftp-simple을 설치한다.
플러그인이 설치되면 원래는 바로 뜨는 것 같은데, 이 플러그인은 활성화 시키려면 VSC를 재시작하는 것이 좋다.


FTP 설정하기
사실 이 부분부터 막혔었다. 대체 메뉴가 어디 있는지...
하지만, ftp-simple의 Details 내용을 읽어보다가 생각을 바꾸니 이게 생각보다 간편한 환경임을 알 수 있게 되었다. 모든 메뉴는 Context Memu 같은 구성이 아니라, 마치 Command Line 창(도스창)과 같은 명령어 체계로 접근하게 되어 있었다.
F1을 누르면 명령줄이 나오는데, 그안에 ftp 라고 입력을 하면 아래 화면 처럼 관련된 명령들이 표시된다.
이 중, ftp-simple : Config - FTP Connection setting 을 선택한다. (마우스 혹은 커서키)

그러면 설정 파일 정보를 입력하는 화면이 나온다.
각각 아래와 같이 채우도록 한다.
  1. name : FTP 연결 정보를 제시하기 위한 이름
  2. host : FTP 연결을 하기 위한 IP 혹은 도메인 주소
  3. port : 포트 번호
  4. type : FTP 연결 타입. 일반 연결은 ftp, SSH는 sftp 
  5. username: 아이디
  6. password : 아이디에 해당하는 암호
  7. path : 루트 경로를 기준으로 최초로 연결될 때 원격 경로 ( 리눅스 서버의 경우 대개 /home/xxxxx/www 이런 식으로 되어 있다. )
  8. autosave : VSC에서 파일을 저장하면 자동으로 업로드 하는 기능. 만일 false로 하면 다른 FTP 프로그램을 사용하는 것과 별반 다르지 않음.
  9. confirm : 저장할 때, 확인 창이 뜰 지 여부.

모두 입력이 완료되었으면 저장을 한다. (저장은 Ctrl + S / Command Key + S 를 입력하면 된다. )

만일 여러개의 Server 정보가 있다면 다음과 같이 {} , {} 형식으로 Json 포멧에 맞게 추가하면 된다.



서버 열기.
사실 VSC에서는 서버를 연다는 기능이 자체적으로 있지 않지만, 이 플러그인을 이용하면 로컬 파일을 연결하듯 처리할 수 있게 된다.다시 F1을 눌러 ftp 항목들을 띄운 뒤, ftp-simple : remote directory open to workspace 를 선택한다.

그러면 앞서 저장한 설정의 이름들의 목록이 뜨는데 그 중 하나를 선택하면 된다.

정상적으로 연결되면, 원격 경로가 표시된다. 
원하는 경로에서 ". Current directory : xxxx " 를 선택한다. 아니면 원하는 경로가 나올때 까지 다른 디렉토리를 선택해서 이동하면 된다.

그러면 VSC가 다시 로딩되면서 아래와 같이 탐색기가 표시된다.

이제 편집을 원하는 파일을 선택하면 편집 창이 뜨고, 작업을 수행하면 된다.
작업한 뒤, Ctrl + S를 누르면 바로 서버에 적용된다.


즐거운 프로그래밍!!!

728x90
  1. dd 2017.11.27 10:30

    안녕하세요
    위 글 써주신대로 했는데요,
    연결까지 되고 파일생성이나 폴더생성하면 적용이 되는데
    저장하면 저장이 안됩니다..
    왜그럴까요?
    autosave true로 설정하였고
    편집하여 ctrl+s 누르면 Already exist file '/html/ttt1.html'. Overwrite? 이런 창이 떠서 OK눌렀는데..
    끄고 다시 켜보면 수정 전 파일 그대로 입니다ㅜㅜ

    • Favicon of https://www.hind.pe.kr 하인도 2017.11.30 22:56 신고

      지금 확인해봤는데, 정상적으로 Write되는데요. 일단 Already exist file ... 이 메시지는 설정에 있는 "confirm": true 라서 발생되는 것이여서 false로 하면 안 뜹니다.

      만일 Ctrl + S나 저장을 했는데도 적용이 안되었다면, 혹시 FTP로 Write가 되지 않는 경우가 아닐까 싶습니다.
      어딘가에 이 FTP 동작에 대한 로그를 볼 수 있으면 좋겠는데, 전혀 나오지가 않네요.. 에러가 나도 내용이 안나오니....

      여튼 지금 수정 전과 동일하다면 현재 FTP에 대해서 권한이 충분한지 확인이 필요합니다.

728x90

시작하며

개인 업무로 레드마인을 사용하고 있습니다. 형상관리에 버전관리까지 필요한 기능을 탑재하고, 혼자 사용하는 중이기 때문에, 기능의 간편성도 훌륭해서 마음에 들어하며 잘 사용하고 있습니다. 하지만, 설치까지 가는데 많은 시간을 소요하는데가, 개인적인 기준으로는 좀 복잡합니다. 아파치에, My SQL에, 루비에...

그러다가  Bitnami 라는 곳에서는 Open Source로 구성된 다양한 서버 제품을 간단하게 설치할 수 있는 패키지를 만들어 배포하는데, 그 곳에서 Redmine도 같이 배포를 하더군요. 그래서 남는 개인 PC에다 Windows Server를 설치한 뒤, 그 위에 Bitnami에서 배포하는 Redmine을 설치했습니다. 이 Installer를 통해 설치를 하니, 아파치 + MySQL + 루비에다 Subversion 서버 까지 같이 한 셋으로 설치가 되더군요. 이거 마음에 흡족했습니다.

그리고, 한 1년 정도를 사용했을까요. 제가 당시에 설치했을 때 1.3.1 버전은 벌써, 2.1.3 버전으로 훌쩍 올라왔더군요. 조금은 많이 당황스러웠습니다. 내부적으로 무엇이 업그레이드 되었는지는 모르겠지만, 최소한 Major 버전 ( 1.X -> 2.X 로 변한)의 업그레이드다 보니, 내부적인 큰 변화가 알게 모르게 있을 것입니다. 기왕지사 쓰는거 최신 버전을 활용하는게 좋을 것이다라는 생각이 들더군요.

하지만, 애석하게도 Bitnami에서 제공하는 패키지는 업그레이드를 지원하지 않습니다. 오로지 설치, 설치, 설치. 즉 새로 설치하라는 의미인 것이였죠. 하지만, 지금까지 쌓아온 데이터가 있는데, 그리 쉽게 포기하기는 쉽지 않습니다.

그래서 계속 다양한 방법으로 시도해보려 했지만, 쉽게 성공치 못하고 있다가, 우연히 살펴본 "채윤이네집"님의 사이트에서 [CentOS] bitnami Redmine stack 업그레이드기( 1.2.X -> 2.0.X) 라는 글을 보게 되었습니다.

그리고 시도했고, 성공했습니다. 이에 대한 기록입니다.

 

전제조건

  • 이 모든 기록은 제 Redmine에 대한 설정을 기반으로 설명합니다. 설치 경로나 구성이 다소 다를 수 있습니다. 이 부분에 대한 차이는 각기 구축한 형태에 맞게 적용해보시면 됩니다.
    • 설치 경로 : D:\Redmine
  • Redmine 내에 사용자 플러그인을 전혀 사용하지 않았습니다. 간혹 Bitnami 포럼에 보면, 업그레이드 도중 오류가 발생하는 경우에 대한 포스팅이 많은데, 대개의 경우 이 플러그인에 걸리는 경우가 많습니다. 메인 Redmine의 큰 판 업그레이드가 되다보니, 플러그인에서 미처 대응이 안되는 경우 오류가 발생되는 것이죠. 만일 개인적으로 플러그인을 다양하게 사용한다면, 업그레이드 전에 플러그인의 호환성을 먼저 체크하셔야 될 겁니다.
  • SQL 서버로는 My SQL을 사용합니다. Redmine 자체가 다양한 DB 서버를 사용하다 보니, 고급 사용자의 경우 다른 DB 서버를 연결해 사용할 수 있습니다. 이 경우 저와는 완전히 다른 작업을 수행해야 할지 모릅니다.
  • 현재 사용중인 Redmine 사이트의 포트는 80이 아닌 4500 이라는 괴이한 포트를 사용 중입니다. 하나의 공유기를 통해 사용 하다가 보니, 다른 곳에서 이미 80을 사용하기 때문에, 할 수 없이 그리 된 것입니다. 
  • 만일 SVN을 Redmine에서 제공하는 기본 SVN 서버를 사용 중이시라면, 반드시 Redmine 설치 위치를 기준으로 subversion 폴더도 같이 백업하시기 바랍니다. 아래의 내용은 SVN 내용에 대해서는 언급하지 않기 때문에, 그대로 따라하다가 SVN 데이터까지 날릴 수 있습니다.!

 

백업

[ 백업하기 전 알아야 할 점 ]

먼저 기존에 설치되어 있던 Redmine 정보를 백업합니다.

1.x 대 버전의 Bitnami Redmine과 2.x 대 Redmine의 경로가 약간 다릅니다.

1.x 대 버전의 경우 Redmine의 소스 경로는 "%BITNAMI설치위치%\apps\redmine" 인 반면에,
2.x 대 버전의 경우 "%BITNAMI설치위치%\apps\redmine\htdocs" 입니다.
( 위의 %BITNAMI설치위치% 는 Bitnami를 이용해 설치한 위치가 됩니다. 기본값은 "C:\Bitnami\Redmine-x.x.x" 입니다. )

먼저 설치된 Redmine 위치를 먼저 파악하시기 바랍니다.
( 여기의 예제는 모두 D:\Redmine 의 위치를 기준으로 설명합니다. )

제일 먼저 수행하는 작업은 서비스 종료입니다.

Bitnami 설치 위치의 폴더를 보면, manager-windows.exe 라는 프로그램이 있읍니다.

redmine001

, 이것을 실행하면 아래와 같이 나옵니다. mysql을 제외한 나머지들을 모두 Stop 시켜주시기 바랍니다.

redmine002

 
[ 첨부파일 백업 ]

제일 먼저 수행하는 작업은 첨부 파일 백업입니다.

"D:\Redmine\apps\redmine\files" 라는 폴더가 있습니다. ( 2.x 버전에서는 "D:\Redmine\apps\redmine\htdocs\files" 입니다. 이하부터는 1.x 버전에서 2.x 버전으로 마이그레이션하는 것을 기준으로 설명합니다. 만일 2.x 에서 상위 버전으로 한다면 그에 맞게 htdocs를 넣어주시기 바랍니다. )

이 폴더의 내용이 Redmine 상에 저장된 첨부파일 들 입니다. 이 내용을 폴더 채로 모두 압축 복사하시기 바랍니다.

redmine003

첨부 파일 백업이 끝났으면 이젠 mysql 에 저장된 Redmine 정보들을 모두 백업합니다.

[ DB Backup ]

Redmine 에서는 다양한 DB를 지원하지만, Bitnami Redmine에서는 MySQL을 기본적으로 제공합니다. 그래서 백업도 MySQL을 통해서 백업을 수행합니다. 여기서 잠깐. MySQL을 접속하기 위한 정보를 먼저 알아야 합니다. 계정 정보 및 관련 접속 정보를 직접 확인해야 합니다.

확인되어야 할 위치는 D:\Redmine\apps\redmine\config 위치에 있는 database.yml 파일입니다. 접속에 관련된 모든 정보가 이 파일 안에 담겨져 있습니다.

redmine004

이 파일을 메모장(Notepad)를 열어보시면 됩니다.

redmine005

파일 내용 중에 production 부분에서 database, username, password 이 세가지 부분을 파악하시면 됩니다.
별도로 적어두시거나 아니면 화면 구석에 띄워두시기 바랍니다.

이제 먼저 명령 줄 창을 띄웁니다. ( 실행 창을 띄워 - Windows Key + R - 그 안에 cmd라고 입력합니다). 띄워진 창에서 아래의 명령을 입력합니다.

mysql 경로로 이동했으면 이제 mysql을 실행해서 데이터를 백업합니다. 실행하기 위한 명령은 아래와 같습니다.

D:\Redmine\mysql\bin\mysqldump.exe -u bitnami -p bitnami_redmine > D:\backup.sql

-u 다음 위치에 username을,
-p 다음 위치에 database name을 넣어주시고,

">" 다음에 백업 결과물 위치와 파일이름을 전체 경로로 해서 적어주시면 됩니다.

그리고 난 뒤, password 가 나오면 password를 입력합니다. 정상적으로 완료 되면 백업할 위치에 해당 파일이 저장됩니다.

redmine006

 

새 버전 설치

이제 모든 정보에 대한 백업은 완료되었습니다. 이제 Bitnami Redmine을 새로 설치합니다. Bitnami Redmine Stack 이라는 언인스톨 항목이 남아 있으면 그것을 통해 언인스톨을 해주시기 바랍니다. 만일 언인스톨이 불가능하다면, 앞서 소개 드린 서비스 관리해주는 manager-windows.exe 라는 프로그램을 통해 모든 서비스를 종료하시고 강제로 해당 폴더의 모든 내용을 삭제해주시기 바랍니다.

기존 버전을 삭제한 후, 새로운 버전을 받아 설치하시기 바랍니다. 설정 방법은 기존에 설정했던 방식대로 해주시기 바랍니다. 웹 서버 설정 값이라든가, 관리자 메일등 각종 설정 내용을 넣어주시기 바랍니다.

모든 사항이 설치되었다면 이제 복원 작업을 수행합니다.

 

복원

[ DB 복원 ]

기본적으로 새로 설치하면 redmine 서비스가 올라오지 않은 상태입니다. 일단 그대로 둔 상태로 진행하시기 바랍니다. 만일 서비스가 시작된 것이 있다면 mysql 을 제외하고 모두 종료해주시기 바랍니다.

이제 앞서 소개 시켜드린 대로 database.yml 파일을 찾아 다시 열어 주시고, database name, username, password 정보를 다시 열어 보시기 바랍니다. 새로 설치했기 때문에, 암호 설정이 바뀌었기 때문에, 이 정보를 꼭 확인하시기 바랍니다.

확인되었으면 이제 도스창을 다시 열어서 아래처럼 mysql에 접속하시기 바랍니다.

D:\Redmine\mysql\bin\mysql.exe -u bitnami -p

그러면 명령창을 통해 mysql 에 접속하게 되는데, password를 물어보면 앞서 얻은 정보를 통해 입력해주시기 바랍니다. 정상적으로 접속되었으면 아래와 같이 "mysql>" 의 프롬프트가 뜰 것입니다.

redmine007

이제 아래와 같은 sql 명령을 한 줄 씩 입력합니다.
아래의 명령은 새로 설치하면서 자동으로 구성된 redmine용 Database를 삭제한 뒤,
새로 빈 Database를 생성합니다.

drop database bitnami_redmine;

create database bitnami_redmine;

exit

이제 Redmine용 빈 데이터베이스가 준비되었습니다. 이것을 복원합니다. 복원은 간단합니다. "<" 라는 부분만 넣고, 아까 백업했던 파일을 맨 뒤에 적어주시면 됩니다. 아까 백업할 때, D:\Backup.sql 파일로 백업을 수행했는데, 이 파일로 복원하는 것입니다.

아래와 같은 명령 줄을 넣고, password에 암호를 입력해주시면 됩니다.

D:\Redmine\mysql\bin\mysql -u bitnami -p bitnami_redmine < D:\Backup.sql

정상적으로 종료가 되었으면 별다른 메시지 없이 종료될 것입니다.

 

[ DB Migration - 이전 작업 ]

Database를 복원하는데까지는 성공했지만, 문제는 백업할 때의 DB 내용은 예전 버전의 DB라는 사실이다. 그러므로, 이것을 새로운 버전으로 변경해주는 작업을 해야 합니다. 이 작업을 하려면, ruby 실행에 관련된 파일들이 필요합니다. 즉시 적용이 될 수 있도록 도스창에서 다음과 같은 줄을 입력하시기 바랍니다.

PATH=D:\Redmine\ruby\bin;%PATH%

저렇게 입력하면 어디서든 ruby 명령을 입력할 수 있게 됩니다. (다만 도스 창이 닫히면 PATH 설정이 날라가므로, 새로 열었을 때는 반드시 위의 명령을 다시 넣어주시기 바랍니다. )

자 이제 다음 명령을 입력하여, redmine 관련된 위치로 이동합니다.

cd /d "D:\Redmine\apps\redmine\htdocs"

이동했으면 다음 명령을 한 줄 씩 실행해주시기 바랍니다.

rake db:migrate RAILS_ENV=production

rake redmine:plugins:migrate RAILS_ENV=production 

그러면 기존 복원했던 DB의 정보를 모두 현재 버전에 맞게 이전 해주면서 정리가 됩니다.

 

[ 첨부 파일 복원 ]

D:\Redmine\apps\redmine\htdocs\files 경로에 앞서 압축했던 files 내용을 그대로 부어주시기 바랍니다. delete.me 파일을 덮어쓸 거냐고 나오는데, 그냥 덮어쓰셔도 무방합니다.

 

[ 서비스 실행 ]

서비스 관리해주는 manager-windows.exe 라는 프로그램을 통해 Stop 된 서비스를 모두 Start 해주시면 완료됩니다. 레드마인에 접속하여 정상적으로 잘 되었는지 확인하시기 바랍니다.

 

정리

지금까지 계속 1.3.1 버전을 사용하다가, 요즘 나온 2.1.4 버전으로 업그레이드 했습니다.
일전에 Redmine 관련 도구를 만들려다가 보니, REST API 지원 문제로 2.X 버전으로 업그레이드 하려다가 정보 부족으로 업그레이드에 실패했습니다. Bitnami 사이트 내에서는 Upgrade에 대한 문서를 찾을 수 없었고, 기타 블로그에서는 CentOS 나, Linux용 Bitnami에 대한 소개가 대부분이였습니다.

그러다가, 우연히 채윤이네 님의 홈페이지를 통해 찬찬히 보니 Windows에서도 될 것 같다는 생각에 진행해봤고, 다행히 성공적으로 마무리 지어졌습니다.

다소 내용의 난이도가 오르락 내리락 해서 내용이 어렵게 보일 수 있겠지만, 잘 보시면 별로 어려운 내용은 없습니다. 요약하면 다음과 같습니다.

  1. MySQL 백업과 복원
  2. 첨부파일 목록 백업과 복원
  3. ruby의 rake 도구를 사용하여, Database 업그레이드 하는 작업

이 세가지 규칙만 이해하시고 진행하시면 간단하게 하실 수 있을 겁니다.

728x90
  1. 막토 2012.12.03 12:12

    안녕하세요 글 잘 보았습니다.
    저도 개인적으로 redmine을 사용하고 있는데요, (1.3.x)
    저와 비슷한 생각을 상황에 있는 분을 만나니 반갑습니다.

    이전에 올리신 redmine assist 글도 보았는데 글의 목적에 무척 공감하며,
    혹시 오픈된 프로그램이어서 다른 사람도 사용가능한지 여부가 궁금하여 글 남겨 봅니다.

    좋은 하루 되세요~

    • Favicon of https://www.hind.pe.kr 하인도 2012.12.04 15:07 신고

      반갑습니다 ^^

      Open Source 프로그램이므로, 어느 서버나, PC든 설치가 가능하며, 설치한 후, 공유를 한다면 타인들도 쓸수는 있습니다. (물론 레드마인을 설치한 사람의 허락하예요)
      혹시 말씀 남기신 내용이 Remine Assist 라이센스 문제라면, 전혀 없다는 것을 덧붙입니다. 내부를 수정하셔도 되고, 어디든 복사해주셔도 무방합니다 ^^

  2. 윤병선 2012.12.13 10:47

    좋은 정리감사합니다.
    덕분에 무사히 저두업그레이드했습니다. ^^

  3. 쿠마신 2013.01.28 12:51

    정말 최고입니다!! 하인도님 같은 분들이 많으셔야 합니다.!!! 최고!!!

  4. Favicon of http://ksncho.blogspot.kr 조경식 2013.11.07 19:54

    좋은 글 감사합니다. 덕분에 쉽게 업그레이드에 성공했습니다 :)

  5. 쭈니 2013.12.19 13:53

    DB 백업을 찾아 보다가 좋은 내용이 있어 제 블로그에 담아 갑니다.

    감사합니다. ( _ _ )

    • Favicon of https://www.hind.pe.kr 하인도 2014.01.09 10:13 신고

      레드마인 정말 참 좋은 솔루션인데, 관리적인 측면은 그리 신경 못쓰는 부분이 참 많습니다 ㅋ. 잘 활용되었으면 좋겠습니다 ^^

  6. ezcode 2014.04.10 13:33

    rake aborted!
    You have already activated rake 0.9.2.2, but your Gemfile requires rake 10.1.1.
    Prepending `bundle exec` to your command may solve this.
    (See full trace by running task with --trace)

    에러 메시지가 나올경우

    gem update rake 명령어로 rake 업데이트 해주세요

    덕분에 잘 끝났습니다. 감사합니다.

    • Favicon of https://www.hind.pe.kr 하인도 2014.04.11 09:14 신고

      좋은 팁 감사합니다.
      안그래도 리눅스 버전으로 설치된 버전의 경우 업데이트하다가 ezcode 님이 보여준 메시지같은 것이 떠서 많이 당황 했습니다. 물론 구글 사마를 통해서 알아보고 update 해서 간신히 해결 했습니다 ^^

      기록해놓는다는걸 정신 없다보니 놓쳤었는데, 팁으로 적어주셔서 고맙습니다!

  7. Favicon of http://touchsoul.tistory.com 김남원 2014.04.16 17:32

    이글 보고 레드마인 이관 무사히 진행했네요. 감사합니다.

728x90

MS SQL 서버를 주로 사용하다 보니, 자연스럽게 SQL 서버 관리는 모조리 SQL Server Management Studio를 이용한다.

ssms001

이 도구를 이용해서 사용하다가 보면, 암호를 종종 저장할 때가 있다. 그러면 나중에 로그인 할 때, 해당 계정만 선택하면 자동으로 암호가 채워져서 손쉽게 로그인할 수 있었다.

그런데, 계정이 여러 개가 되는 경우 암호가 변경되었을 때, 암호 정보를 업데이트하려면, 이상하게 안된다.
( SQL Server Management Studio for MS SQL Server 2008 R2 기준 )

전에는 바로 "연결"만 누르면 해결되던 일이, 매번 암호를 입력해야 되니, 이 역시 여간 곤혹 스러운일이 아닐 수 없었다. 그렇다고, 새로 암호를 넣을라고 해도, 이전에 넣은 암호 정보에 대한 접근 방법이 없었다.

찾다 찾다가, 간신히 글 하나를 찾았다.  ( 검색어 : sql server management studio remove login history )

해당 원본 문서의 URL은 http://stackoverflow.com/questions/1059105/how-to-remove-server-name-items-from-history-of-sql-server-management-studio 이다.

결론은

C:\Documents and Settings\{UserID}\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

라는 파일을 삭제하면 된다.

Windows 7의 경우에는 Documents and Settings 대신 Users라는 폴더를 사용하는데, Windows 7 기준으로 보면 다음과 같다.

c:\Users\{UserID}\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

[ 위의 내용 중 {UserID} 부분에 자신의 컴퓨터의 로그인 아이디를 입력하면 된다. ]

 

이 파일을 삭제하려면 다음과 같은 수순을 밟으면 된다.

  1. 현재 실행 중인 SQL Management Studio를 모두 종료 한다.
  2. 위에서 제시한 위치의 SqlStudio.bin 파일을 삭제한다.
  3. SQL Managment Studio를 다시 실행한다.

실행에 필요한 여러가지 정보가 담겨 있는지는 모르곘지만, 해당 파일 내에 자동 로그인을 위한 계정 정보를 담고 있는 것 같다. 해당 파일을 삭제하면 처음 사용한 것 처럼 모든 계정/접속 정보들이 초기화 되어 보여준다.

728x90

+ Recent posts

728x90