0부터 Gitlab-CE를 시작하고 Pages를 공개할 때까지

소개



공식 문서
의외로 공식 문서대로 하고 있는 절차가 없었기 때문에 해 보았다.

아래 준비



검증용 인스턴스 시작



이번에는 GCP에서 CentOS7의 GCE 인스턴스를 시작하여 Gitlab 설치한다.
(여러 사정에 따라 버전 11.11.8에서 시도하고 있습니다)
$ sudo yum update
$ sudo yum install -y curl policycoreutils-python openssh-server
$ sudo systemctl enable sshd
$ sudo systemctl start sshd
$ sudo firewall-cmd --permanent --add-service=http
$ sudo systemctl reload firewalld
$ sudo yum install postfix
$ sudo systemctl enable postfix
$ sudo systemctl start postfix
$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
$ sudo yum --showduplicates search gitlab-ce | grep 11.11.8
gitlab-ce-11.11.8-ce.0.el7.x86_64 : GitLab Community Edition (including NGINX, Postgres, Redis)
$ sudo yum install gitlab-ce-11.11.8-ce.0.el7.x86_64
$ sudo vi /etc/gitlab/gitlab.rb
(external_url 'http://xxx.xxx.xxx.xxx/' GIPを設定)
$ sudo gitlab-ctl reconfigure

우선, 액세스할 수 있는 것을 확인.

Gitlab Pages 프로젝트 만들기



평가판 프로젝트를 만듭니다.
  • New Project 버튼을 꽉 누르십시오.
  • Create from template 에서 PagesPlain HTMLUse template 를 포치한다.


  • 3. 적절하게 이름을 지정하고 Create project 를 누릅니다.


    할 수 있었다.

    Gitlab Runner 활성화



    CI 환경이 필수이므로 활성화한다.
  • Gitlab 프로젝트 설정에서 CI/CD를 선택합니다.
  • Runners 섹션을 확장한다.
  • URLtoken 를 삼가한다.


  • 4. CentOS에서 또 하나의 GCE 인스턴스를 생성.
    $ sudo yum update
    $ curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
    $ sudo yum install gitlab-runner
    $ sudo yum install docker
    
    $ sudo systemctl start docker
    $ sudo systemctl enable docker
    $ sudo systemctl start gitlab-runner
    $ sudo systemctl enable gitlab-runner
    
    $ sudo gitlab-runner register
    Runtime platform                                    arch=amd64 os=linux pid=6360 revision=de7731dd version=12.1.0
    Running in system-mode.                            
    
    Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
    http://xxx.xxx.xxx.xxx/ ← 控えたURL
    Please enter the gitlab-ci token for this runner:
    xxxxxxxxxxxxxxxxxxxx ← 控えたtoken
    Please enter the gitlab-ci description for this runner:
    [hori-test-gitlab-runner]: 
    Please enter the gitlab-ci tags for this runner (comma separated):
              ← とりあえずタグは未指定(そのままEnter)
    Registering runner... succeeded                     runner=UhtBLpGi
    Please enter the executor: custom, docker, docker-ssh, shell, virtualbox, parallels, ssh, docker+machine, docker-ssh+machine, kubernetes:
    docker
    Please enter the default Docker image (e.g. ruby:2.6):
    centos:latest
    Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 
    

    Gitlab 콘솔에서 확인하면 추가되었습니다.


    Pages 활성화



    DNS 설정



    DNS에서 방금 만든 Gitlab의 GIP와 도메인의 A 레코드를 추가.
  • 와일드카드 도메인 및 GIP 예제
  • *.pages.hogehoge.work
  • 35.241.261.50


  • 설정 파일 변경



    Gitlab 인스턴스에서 작업.
  • /etc/gitlab/gitlab.rb 에서만 편집
  • pages_external_url "http://pages.hogehoge.work/"
  • gitlab_pages['enable'] = true

  • sudo gitlab-ctl reconfigure
  • sudo gitlab-ctl restart

  • 배포



    Gitlab 콘솔 프로젝트 내에서 작업.
  • CI/CDPipelines 를 엽니다.
  • Run Pipeline 를 누릅니다.
  • 이제 Run Pipeline 를 누른다.
  • 조금 기다리면 passed 표시되고 배포 성공.
  • SettingsPages 에는 URL가 있기 때문에 클릭.
  • Pages 표시된다! !


  • SSL 대응



    전용으로 와일드 카드 증명서가 필요. (높음)
    여기의 예라면 *.pages.hogehoge.work를 구입하십시오.

    설정 방법



    Gitlab 인스턴스에서 작업.
  • 증명서 hoge.crt 를 준비.
  • 중간 증명서 intermediate.crt 를 준비.
  • cat hoge.crt intermediate.crt >> /etc/gitlab/ssl/hogehoge.crt 실행.
  • 개인 키 hoge.key/etc/gitlab/ssl/ 아래에 복사.
  • /etc/gitlab/gitlab.rb 에서만 편집
  • pages_external_url "https://pages.hogehoge.work/" ←https로 변경했다.
  • pages_nginx['enable'] = true
  • pages_nginx['redirect_http_to_https'] = true
  • pages_nginx['ssl_certificate'] = "/etc/gitlab/ssl/hogehoge.crt"
  • pages_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/hoge.key"

  • sudo gitlab-ctl reconfigure
  • sudo gitlab-ctl restart

  • 결론



    돈이 없어 증명서 살 수 없었기 때문에, 다음번은 12에 버전 업 해 Let's Encrypt로 SSL화를 시험하고 싶다.

    좋은 웹페이지 즐겨찾기