いまからDockerで始めるGitLab CE/gitlabjp-20170919

356dbe9f00ed6a1f5dafe126029497f1?s=47 Kunihiro Morita
September 19, 2017

いまからDockerで始めるGitLab CE/gitlabjp-20170919

GitLab Meetup Fukuoka #1 の資料です。
https://gitlab-jp.connpass.com/event/64349/

356dbe9f00ed6a1f5dafe126029497f1?s=128

Kunihiro Morita

September 19, 2017
Tweet

Transcript

  1. ͍·͔ΒDockerͰ࢝ΊΔ GitLab CE #gitlabjp 2017/9/19 GitLab Meetup Fukuoka #1 1

  2. ৿ా๜༟ גࣜձࣾΦϧλʔϒʔε ιϦϡʔγϣϯΞʔΩςΫτ @morita92hiro http://hawaku.hateblo.jp 2017/9/19 GitLab Meetup Fukuoka #1

    2
  3. About GitLab GitLab unifies issues, code review, CI and CD

    into a single UI — https://about.gitlab.com 2017/9/19 GitLab Meetup Fukuoka #1 3
  4. Products 2017/9/19 GitLab Meetup Fukuoka #1 4

  5. GitLab CE/EE1 ηϧϑϗεςΟϯά » Community Edition (CE) <- ࠓ೔͸͜ͷ࿩ »

    Enterprise Edition (EE) » Starter (EES) » Premium (EEP) 1 https://about.gitlab.com/products/ 2017/9/19 GitLab Meetup Fukuoka #1 5
  6. GitLab.com2 SaaS » Free (EES૬౰) » Bronze » Silver »

    Gold 2 https://about.gitlab.com/gitlab-com/ 2017/9/19 GitLab Meetup Fukuoka #1 6
  7. 2017.1.຤೔ 2017/9/19 GitLab Meetup Fukuoka #1 7

  8. 2017/9/19 GitLab Meetup Fukuoka #1 8

  9. ʊਓਓਓਓਓਓʊ ʼɹಥવͷࢮɹʻ ʉY^Y^Y^Y^Yʉ 2017/9/19 GitLab Meetup Fukuoka #1 9

  10. ϫΠແࣄࢮ๢! 2017/9/19 GitLab Meetup Fukuoka #1 10

  11. ࢮ๢ʁ » ݸਓతʹAnsibleపఈೖ໳ͷݪߘΛ؅ཧ͍ͯͨ͠ ޾͍ʹ΋ » ࠷৽σʔλ͸ϩʔΧϧʹ࢒͍ͬͯͨ » ෮چΛԹ͔͍໨ͰݟΕͨ 2017/9/19 GitLab

    Meetup Fukuoka #1 11
  12. ͦͷ࿩͸ஔ͍ͱ͍ͯ 2017/9/19 GitLab Meetup Fukuoka #1 12

  13. GitLab CEͷ͓࿩΁ 2017/9/19 GitLab Meetup Fukuoka #1 13

  14. GitLab CE Features1 » Built-in CI/CD » Cycle Analytics »

    Issue Boards » Time tracking » Preview your changes with Review Apps » Publish static websites for free with GitLab Pages 1 https://about.gitlab.com/products/ 2017/9/19 GitLab Meetup Fukuoka #1 14
  15. GitLab Install3 3 https://about.gitlab.com/installation/ 2017/9/19 GitLab Meetup Fukuoka #1 15

  16. Install Methods » apt / yum » Docker <- ࠓ೔͸͜ͷ࿩

    » Azure VM / AWS AMI / GCP VM » ͘͞ΒͷVPSʮελʔτΞοϓεΫϦϓτʯ<- NEW4 » Ansible Playbook » ͳͲͳͲ 4 https://vps-news.sakura.ad.jp/2017/08/29/startup-gitlab/ 2017/9/19 GitLab Meetup Fukuoka #1 16
  17. Omnibus package installation » ਪ঑ » GitLabશ෦ » ඞཁΞϓϦέʔγϣϯ(Ruby, Nginx,

    PostgreSQLͳͲ)ಉࠝ 2017/9/19 GitLab Meetup Fukuoka #1 17
  18. Docker Image5 » Offical » GitLab CE » GitLab EE

    » GitLab Runner » based on the Omnibus package 5 https://docs.gitlab.com/ce/install/docker.html 2017/9/19 GitLab Meetup Fukuoka #1 18
  19. Docker Run 2017/9/19 GitLab Meetup Fukuoka #1 19

  20. docker run -d \ -h gitlab.example.com \ -p 80:80 -p

    443:443 \ --name gitlab \ --restart always \ -v $PWD/gl_env/etc/gitlab/:/etc/gitlab \ -v $PWD/gl_env/var/log/gitlab:/var/log/gitlab \ -v $PWD/gl_env/var/opt/gitlab:/var/opt/gitlab \ gitlab/gitlab-ce:latest 2017/9/19 GitLab Meetup Fukuoka #1 20
  21. ઃఆ มߋ docker exec -it gitlab vim /etc/gitlab/gitlab.rb ൓ө docker

    restart gitlab 2017/9/19 GitLab Meetup Fukuoka #1 21
  22. Docker Compose 2017/9/19 GitLab Meetup Fukuoka #1 22

  23. version: '2' services: gitlab: image: "gitlab/gitlab-ce:latest" restart: always hostname: "gitlab.example.com"

    environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.example.com' gitlab_rails['gitlab_shell_ssh_port'] = 22 ports: - "80:80" - "22:22" volumes: - "./gl_env/etc/gitlab:/etc/gitlab" - "./gl_env/var/log/gitlab:/var/log/gitlab" - "./gl_env/var/opt/gitlab:/var/opt/gitlab" 2017/9/19 GitLab Meetup Fukuoka #1 23
  24. ϙʔτ൪߸ » HTTP(80) » HTTPS(443) » SSH(22) 2017/9/19 GitLab Meetup

    Fukuoka #1 24
  25. ϙʔτมߋ6 HTTP(S) external_url 'http://gitlab.example.com:8080' external_url 'https://gitlab.example.com:8443' SSH gitlab_rails['gitlab_shell_ssh_port'] = 2224

    6 https://docs.gitlab.com/omnibus/docker/README.html#install-gitlab-using-docker-compose 2017/9/19 GitLab Meetup Fukuoka #1 25
  26. version: '2' services: gitlab: image: "gitlab/gitlab-ce:latest" restart: always hostname: "gitlab.example.com"

    environment: GITLAB_OMNIBUS_CONFIG: | external_url 'https://gitlab.example.com:8443' gitlab_rails['gitlab_shell_ssh_port'] = 2224 ports: - "8443:8443" - "2224:22" volumes: - "./gl_env/etc/gitlab:/etc/gitlab" - "./gl_env/var/log/gitlab:/var/log/gitlab" - "./gl_env/var/opt/gitlab:/var/opt/gitlab" 2017/9/19 GitLab Meetup Fukuoka #1 26
  27. GitLab Runner 2017/9/19 GitLab Meetup Fukuoka #1 27

  28. http://www.slidedeck.io/codethebuild/slides 2017/9/19 GitLab Meetup Fukuoka #1 28

  29. version: '2' services: gitlab: ʙলུʙ runner: image: gitlab/gitlab-runner:latest restart: always

    volumes: - "/var/run/docker.sock:/var/run/docker.sock" - "./gl_env/etc/gitlab-runner:/etc/gitlab-runner" 2017/9/19 GitLab Meetup Fukuoka #1 29
  30. ઃఆ11 docker exec -it gitlab_runner_1 gitlab-runner register 11 https://docs.gitlab.com/runner/register/#docker 2017/9/19

    GitLab Meetup Fukuoka #1 30
  31. ͋ͱ͸ɺ͜ΕΛ͜͏ͯ͠… » Container Registory7 » SMTP (SendGrid)8 » OAuth (AzureAD)9

    9 https://docs.gitlab.com/ce/integration/azure.html 8 https://docs.gitlab.com/omnibus/settings/smtp.html 7 https://docs.gitlab.com/ce/administration/container_registry.html#configure-container-registry-under-an- existing-gitlab-domain 2017/9/19 GitLab Meetup Fukuoka #1 31
  32. ͜͏͡Όʂ 2017/9/19 GitLab Meetup Fukuoka #1 32

  33. Multi Sites 2017/9/19 GitLab Meetup Fukuoka #1 33

  34. Nginx Proxy10 + Let's Encrypt 10 https://docs.gitlab.com/omnibus/settings/nginx.html#change-the-default-proxy-headers 2017/9/19 GitLab Meetup

    Fukuoka #1 34
  35. ·ͱΊ » ߏங͸apt / yum, DockerͰ؆୯ » Ξοϓσʔτ͸Dockerӡ༻ͷํָ͕ » ηϧϑϗεςΟϯά͸GitLab-CE/EE

    » ϗεςΟϯάෆཁͳΒSaaSͷGitLab.comָ͕ » 1ͭͷUIͰIssusɺίʔυϨϏϡʔɺContainer Registory, CI/CDΛ ؅ཧͰ͖ΔͷͰָ 2017/9/19 GitLab Meetup Fukuoka #1 35
  36. ͓ΘΓ 2017/9/19 GitLab Meetup Fukuoka #1 36