GitLab: Difference between revisions

From Leo's Notes
This page was last edited on 2 December 2018, at 01:00.
No edit summary
No edit summary
Line 1: Line 1:
== Installation ==
== Docker Registry Runners ==


Consult https://github.com/nielsbasjes/gitlab-recipes/blob/master/install/CentOS_6.md
* https://angristan.xyz/build-push-docker-images-gitlab-ci/


Seems like the instructions work quite well. Make sure all the dependencies it lists out are installed first (as it should).


<syntaxhighlight lang="bash" line start="1" enclose="div">
{{highlight|lang=terminal|code=
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# docker-compose run --rm gitlab-runner register -n --url https://git.steamr.com/ --registration-token z276ujRTK69qD8xb-aNH --executor docker --docker-image "docker:stable"
Runtime platform                                    arch=amd64 os=linux pid=7 revision=3afdaba6 version=11.5.0
Running in system-mode.


yum -y groupinstall 'Development Tools'
Registering runner... succeeded                    runner=z276ujRT
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!


### 'Additional Development'
root@docker:/root/docker/running/gitlab# cat /var/volumes/gitlab/runner-config/config.toml
yum -y install vim-enhanced httpd readline readline-devel ncurses-devel gdbm-devel glibc-devel \
concurrent = 1
              tcl-devel openssl-devel curl-devel expat-devel db4-devel byacc \
check_interval = 0
              sqlite-devel gcc-c++ libyaml libyaml-devel libffi libffi-devel \
              libxml2 libxml2-devel libxslt libxslt-devel libicu libicu-devel \
              system-config-firewall-tui python-devel redis sudo mysql-server wget \
              mysql-devel crontabs logwatch logrotate sendmail-cf qtwebkit qtwebkit-devel \
              perl-Time-HiRes


yum update
[session_server]
  session_timeout = 1800


chkconfig redis on
[[runners]]
service redis start
  name = "3b70de49f826"
  url = "https://git.steamr.com/"
  token = "1dbe4535e5aaa49d6582d374a29c28"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "docker:stable"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]


chkconfig mysqld on
service mysqld start


/usr/bin/mysql_secure_installation
root@docker:/root/docker/running/gitlab# cat docker-compose.yml /root/docker/running/gitla
version: '3.3'


rm /etc/httpd/conf.d/welcome.conf
services:


  vi /etc/httpd/conf.d/gitlab.conf
  gitlab:
    #build:
    #  context: ./gogs
    # dockerfile: Dockerfile
    # letsencrypt['enable'] = false
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://git.steamr.com'
        nginx['listen_port'] = '80'
        nginx['listen_https'] = false
        nginx['proxy_set_headers'] = { 'X-Forwarded-Proto' => 'https', 'X-Forwarded-Ssl' => 'on' }
        registry_external_url 'https://registry.steamr.com'
        registry['enable'] = true
        gitlab_rails['registry_enabled'] = true
        registry_nginx['listen_port'] = 5001
        registry_nginx['listen_https'] = false
        registry_nginx['proxy_set_headers'] = { 'X-Forwarded-Proto' => 'https', 'X-Forwarded-Ssl' => 'on' }
    volumes:
      - /var/volumes/gitlab/config:/etc/gitlab
      - /var/volumes/gitlab/logs:/var/log/gitlab
      - /var/volumes/gitlab/data:/var/opt/gitlab
    restart: always
    expose:
      - "80"
      - "5001"
    ports:
      - "10.1.2.54:22:22"
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik"
      - "traefik.web.port=80"
      - "traefik.web.frontend.rule=Host:git.steamr.com"
      - "traefik.registry.port=5001"
      - "traefik.registry.frontend.rule=Host:registry.steamr.com"
    networks:
      - traefik
    healthcheck:
      disable: true


</syntaxhighlight>


<syntaxhighlight lang="text" line start="1" enclose="div">
  gitlab-runner:
<VirtualHost *:80>
    image: gitlab/gitlab-runner:latest
  ServerName gitlab.home.steamr.com
     container_name: gitlab-runner
  ProxyRequests Off
     restart: always
     <Proxy *>
     volumes:
      Order deny,allow
      - /var/volumes/gitlab/runner-config:/etc/gitlab-runner
      Allow from all
      - /var/run/docker.sock:/run/docker.sock
     </Proxy>
     ProxyPreserveHost On
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</VirtualHost>
</syntaxhighlight>




<syntaxhighlight lang="bash" line start="1" enclose="div">
networks:
setsebool -P httpd_can_network_connect on
  traefik:
    external:
      name: traefik


cd /etc/mail
}}
vim /etc/mail/sendmail.mc
 
 
</syntaxhighlight>
 
In the sendmail config file, you will want to set the SMTP server, and possibly the credentials (see [[Configure Sendmail]] for more information).
 
 
 
<syntaxhighlight lang="bash" line start="1" enclose="div">
mkdir /tmp/ruby && cd /tmp/ruby
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p429.tar.gz
tar xfvz ruby-1.9.3*.tar.gz
cd ruby-1.9.3*
./configure
make
make install
 
 
gem install bundler
 
 
 
adduser \
  --system \
  --shell /bin/bash \
  --comment 'Git Version Control' \
  --create-home \
  --home-dir /home/git \
  git
 
adduser \
  --shell /bin/bash \
  --comment 'GitLab user' \
  --create-home \
  --home-dir /home/gitlab \
  gitlab
 
usermod -a -G git gitlab
</syntaxhighlight>
 
 
 
[[Category:Todo]]

Revision as of 01:00, 2 December 2018

Docker Registry Runners


# docker-compose run --rm gitlab-runner register -n --url https://git.steamr.com/ --registration-token z276ujRTK69qD8xb-aNH --executor docker --docker-image "docker:stable"
Runtime platform                                    arch=amd64 os=linux pid=7 revision=3afdaba6 version=11.5.0
Running in system-mode.

Registering runner... succeeded                     runner=z276ujRT
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

root@docker:/root/docker/running/gitlab# cat /var/volumes/gitlab/runner-config/config.toml
concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "3b70de49f826"
  url = "https://git.steamr.com/"
  token = "1dbe4535e5aaa49d6582d374a29c28"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "docker:stable"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]


root@docker:/root/docker/running/gitlab# cat docker-compose.yml /root/docker/running/gitla
version: '3.3'

services:

  gitlab:
    #build:
    #  context: ./gogs
    #  dockerfile: Dockerfile
    # letsencrypt['enable'] = false
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: