CentOS5.10은 GiitBuckt2입니다.4.1 rpm 제작 및 설치 방법

9840 단어 GitGitBucket

개론


CentOS 5입니다.GiitBucket 2는 10가지 환경에서 사용할 수 있습니다.로그인 화면이 나타날 때까지 4.1rpm 파일을 제작, 설치한다는 뜻이다.

전제 조건

  • 작업은 루트 사용자가 수행합니다.
  • "rpm-build.x86 64"등 구축에 필요한 명령이 설치되었습니다.
  • GiitBucket의 실행에 자바 명령이 필요하기 때문에'java-1.70-openjdk'등을 미리 설치하여 자바 명령을 실행 가능한 상태로 한다.
  • 명령하다
    # yum groupinstall "Development Tools"
    # yum install rpm-build.x86_64
    # yum install java-1.7.0-openjdk.x86_64
    

    사전 준비


    먼저 구문에 필요한 관련 파일을 지정된 디렉토리로 복사합니다.
    GiitBucket 버전 번호에 대해서는 최신 버전을 적절히 교체하십시오.
    명령하다
    # cd ~
    # git clone https://github.com/takezoe/gitbucket.git
    # cp gitbucket/contrib/linux/redhat/gitbucket.spec /usr/src/redhat/SPECS/
    # cp gitbucket/contrib/gitbucket.conf /usr/src/redhat/SOURCES/
    # cp gitbucket/contrib/gitbucket.init /usr/src/redhat/SOURCES/
    # wget https://github.com/takezoe/gitbucket/releases/download/2.4.1/gitbucket.war -O /usr/src/redhat/SOURCES/gitbucket.war
    # wget https://github.com/takezoe/gitbucket/archive/2.4.1.tar.gz -O /usr/src/redhat/SOURCES/gitbucket-2.4.1.tar.gz
    # rm -fr gitbucket
    

    스펙 파일 수정


    스펙 파일 안의 버전에 대한 기술을 최신판으로 바꾸다.
    명령하다
    事前にバックアップを取っておく
    # cp /usr/src/redhat/SPECS/gitbucket.spec /usr/src/redhat/SPECS/gitbucket.spec.orig
    
    修正箇所確認
    # diff /usr/src/redhat/SPECS/gitbucket.spec /usr/src/redhat/SPECS/gitbucket.spec.orig
    3c3
    < Version:      2.4
    ---
    > Version:      1.7
    

    rpm 파일 만들기


    미리 준비되어 있기 때문에 rpmbild 명령으로 rpm 파일을 만듭니다.
    명령하다
    # rpmbuild -ba /usr/src/redhat/SPECS/gitbucket.spec
    Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.57692
    + umask 022
    + cd /usr/src/redhat/BUILD
    + LANG=C
    + export LANG
    + unset DISPLAY
    + '[' /var/tmp/gitbucket-2.4-1-root '!=' / ']'
    + /bin/rm -rf /var/tmp/gitbucket-2.4-1-root
    + /bin/mkdir -p /var/tmp/gitbucket-2.4-1-root/etc/init.d /var/tmp/gitbucket-2.4-1-root/etc/sysconfig '/var/tmp/gitbucket-2.4-1-root%{_datarootdir}/gitbucket/lib' /var/tmp/gitbucket-2.4-1-root/usr/com/gitbucket /var/tmp/gitbucket-2.4-1-root/var/log/gitbucket
    + /usr/bin/install -m 0644 /usr/src/redhat/SOURCES/gitbucket.war '/var/tmp/gitbucket-2.4-1-root%{_datarootdir}/gitbucket/lib'
    + /usr/bin/install -m 0755 /usr/src/redhat/SOURCES/gitbucket.init /var/tmp/gitbucket-2.4-1-root/etc/init.d/gitbucket
    + /usr/bin/install -m 0644 /usr/src/redhat/SOURCES/gitbucket.conf /var/tmp/gitbucket-2.4-1-root/etc/sysconfig/gitbucket
    + touch /var/tmp/gitbucket-2.4-1-root/var/log/gitbucket/run.log
    + /usr/lib/rpm/redhat/brp-compress
    + /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
    + /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
    + /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
    + /usr/lib/rpm/brp-python-bytecompile
    + /usr/lib/rpm/redhat/brp-java-repack-jars
    Processing files: gitbucket-2.4-1
    error: File must begin with "/": %{_datarootdir}/gitbucket/lib/gitbucket.war
    Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/gitbucket-2.4-1-root
    
    
    RPM build errors:
        File must begin with "/": %{_datarootdir}/gitbucket/lib/gitbucket.war
    
    죄송합니다. "File must begin with"/":% {datarootdiar]/gitbucket/lib/gitbucket.war"의 오류가 발생했습니다.
    '% {datarootdiar}' 부분을 올바른 문자열로 바꾸지 않았기 때문에 경로가 올바르지 않은 것 같습니다.
    그러면 '% {datarootdiar}' 을 무엇으로 바꾸면 좋을까요? 단서가 될 수 있는'gitbucket.conf '를 엽니다.
    명령하다
    # vim /usr/src/redhat/SOURCES/gitbucket.conf
    
    ・
    ・
    省略
    ・
    ・
    # Directory where GitBucket is installed
    # Configuration is stored here:
    GITBUCKET_DIR=/usr/share/gitbucket <=== それっぽい
    GITBUCKET_WAR_DIR=$GITBUCKET_DIR/lib
    
    'GITBUCKET DIR'로 정의된'/usr/share/gitbucket'은 매우 그런 느낌을 주기 때문에 이걸로 바꿉니다.
    명령하다
    # vim /usr/src/redhat/SPECS/gitbucket.spec
    
    実行
    :%s/%{_datarootdir}/\/usr\/share/g
    
    修正箇所確認
    # diff /usr/src/redhat/SPECS/gitbucket.spec /usr/src/redhat/SPECS/gitbucket.spec.orig
    3c3
    < Version:      2.4
    ---
    > Version:      1.7
    23,24c23,24
    < %{__mkdir_p} %{buildroot}{%{_sysconfdir}/{init.d,sysconfig},/usr/share/%{name}/lib,%{_sharedstatedir}/%{name},%{_localstatedir}/log/%{name}}
    < %{__install} -m 0644 %{SOURCE0} %{buildroot}/usr/share/%{name}/lib
    ---
    > %{__mkdir_p} %{buildroot}{%{_sysconfdir}/{init.d,sysconfig},%{_datarootdir}/%{name}/lib,%{_sharedstatedir}/%{name},%{_localstatedir}/log/%{name}}
    > %{__install} -m 0644 %{SOURCE0} %{buildroot}%{_datarootdir}/%{name}/lib
    36c36
    < /usr/share/%{name}/lib/%{name}.war
    ---
    > %{_datarootdir}/%{name}/lib/%{name}.war
    
    rpmbild 명령을 사용하여 구축을 다시 실행합니다.
    명령하다
    # rpmbuild -ba /usr/src/redhat/SPECS/gitbucket.spec
    Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.4672
    + umask 022
    + cd /usr/src/redhat/BUILD
    + LANG=C
    + export LANG
    + unset DISPLAY
    + '[' /var/tmp/gitbucket-2.4-1-root '!=' / ']'
    + /bin/rm -rf /var/tmp/gitbucket-2.4-1-root
    + /bin/mkdir -p /var/tmp/gitbucket-2.4-1-root/etc/init.d /var/tmp/gitbucket-2.4-1-root/etc/sysconfig /var/tmp/gitbucket-2.4-1-root/usr/share/gitbucket/lib /var/tmp/gitbucket-2.4-1-root/usr/com/gitbucket /var/tmp/gitbucket-2.4-1-root/var/log/gitbucket
    + /usr/bin/install -m 0644 /usr/src/redhat/SOURCES/gitbucket.war /var/tmp/gitbucket-2.4-1-root/usr/share/gitbucket/lib
    + /usr/bin/install -m 0755 /usr/src/redhat/SOURCES/gitbucket.init /var/tmp/gitbucket-2.4-1-root/etc/init.d/gitbucket
    + /usr/bin/install -m 0644 /usr/src/redhat/SOURCES/gitbucket.conf /var/tmp/gitbucket-2.4-1-root/etc/sysconfig/gitbucket
    + touch /var/tmp/gitbucket-2.4-1-root/var/log/gitbucket/run.log
    + /usr/lib/rpm/redhat/brp-compress
    + /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
    + /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
    + /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
    + /usr/lib/rpm/brp-python-bytecompile
    + /usr/lib/rpm/redhat/brp-java-repack-jars
    Processing files: gitbucket-2.4-1
    Provides: config(gitbucket) = 2.4-1
    Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
    Requires: /bin/bash config(gitbucket) = 2.4-1 java >= 1.7
    Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/gitbucket-2.4-1-root
    Wrote: /usr/src/redhat/SRPMS/gitbucket-2.4-1.src.rpm
    Wrote: /usr/src/redhat/RPMS/noarch/gitbucket-2.4-1.noarch.rpm <=== rpmファイルが作成されました
    Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.7258
    + umask 022
    + cd /usr/src/redhat/BUILD
    + '[' /var/tmp/gitbucket-2.4-1-root '!=' / ']'
    + /bin/rm -rf /var/tmp/gitbucket-2.4-1-root
    + exit 0
    
    이번 처리가 정확하게 끝나서 rpm 파일을 만들었습니다.
    명령하다
    # ls -l /usr/src/redhat/RPMS/noarch/gitbucket-2.4-1.noarch.rpm
    -rw-r--r-- 1 root root 50521338 Oct 10 18:12 /usr/src/redhat/RPMS/noarch/gitbucket-2.4-1.noarch.rpm
    # ls -l /usr/src/redhat/SRPMS/gitbucket-2.4-1.src.rpm
    -rw-r--r-- 1 root root 50521018 Oct 10 18:12 /usr/src/redhat/SRPMS/gitbucket-2.4-1.src.rpm
    

    제작된 기릿버킷2.4.1 rpm 설치


    명령하다
    # rpm -Uvh /usr/src/redhat/RPMS/noarch/gitbucket-2.4-1.noarch.rpm
    error: Failed dependencies:
            java >= 1.7 is needed by gitbucket-2.4-1.noarch
    
    자바 버전이 낡아서 욕을 먹고 설치에 실패했기 때문에 자바 버전을 확인합니다.
    명령하다
    # java -version
    java version "1.7.0_65"
    OpenJDK Runtime Environment (rhel-2.5.1.2.el5_10-x86_64 u65-b17)
    OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
    
    확실히 버전 1.7 이상의 자바가 설치된 것 같아서 "--nodeps"로 무시해서 넣습니다.
    명령하다
    # rpm -Uvh --nodeps /usr/src/redhat/RPMS/noarch/gitbucket-2.4-1.noarch.rpm
    Preparing...                ########################################### [100%]
       1:gitbucket              ########################################### [100%]
    
    '% {datarootdir}' 을 '/usr/share' 로 바꾸는 부분에 관심이 있기 때문에 'GITBUCKET WAR DIR' 에서 정의한 '/usr/share/gitbucket/lib' 아래에 War 파일이 만들어졌는지 확인하십시오.
    명령하다
    # ls -l /usr/share/gitbucket/lib/gitbucket.war
    -rw-r--r-- 1 root root 51074315 Oct 10 18:12 /usr/share/gitbucket/lib/gitbucket.war
    
    스크립트를 시작하는 "/etc/rc.d/init.d/gitbucket"은 CentOS 5에서 동작하지 않기 때문에 일부분을 다시 씁니다.
    명령하다
    事前にバックアップを取っておく
    # cp /etc/rc.d/init.d/gitbucket /etc/rc.d/init.d/gitbucket.orig
    
    修正箇所確認
    # diff /etc/rc.d/init.d/gitbucket /etc/rc.d/init.d/gitbucket.orig
    13c13
    < #set -e
    ---
    > set -e
    16c16
    < #[ -f /etc/rc.common ] && source /etc/rc.common # Mac OS/X
    ---
    > [ -f /etc/rc.common ] && source /etc/rc.common # Mac OS/X
    24c24
    < #[ -f gitbucket.conf ] && source gitbucket.conf  # For all systems
    ---
    > [ -f gitbucket.conf ] && source gitbucket.conf  # For all systems
    34c34
    < #if [ -z "$(which success)" ]; then
    ---
    > if [ -z "$(which success)" ]; then
    38,39c38,39
    < #fi
    < #if [ -z "$(which failure)" ]; then
    ---
    > fi
    > if [ -z "$(which failure)" ]; then
    43c43
    < #fi
    ---
    > fi
    
    GiitBucket 서비스를 시작합니다.
    명령하다
    # service gitbucket start
    Starting GitBucket server:  Success
    
    http://path_to_domain:8080에 액세스하면 로그인 화면이 표시됩니다.
    초기 상태에서는 Username:root/Password:root 로 로그인할 수 있습니다.

    참조 링크


    GitBucket-CentOS
    GiitBucket 2.1용 RPM 생성
    GiitLab 및 GiitBucket과 시험 설치

    좋은 웹페이지 즐겨찾기