いまからDockerで始めるGitLab CE/gitlabjp-20170919
by
Kunihiro Morita
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
͍·͔ΒDockerͰ࢝ΊΔ GitLab CE #gitlabjp 2017/9/19 GitLab Meetup Fukuoka #1 1
Slide 2
Slide 2 text
ా༟ גࣜձࣾΦϧλʔϒʔε ιϦϡʔγϣϯΞʔΩςΫτ @morita92hiro http://hawaku.hateblo.jp 2017/9/19 GitLab Meetup Fukuoka #1 2
Slide 3
Slide 3 text
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
Slide 4
Slide 4 text
Products 2017/9/19 GitLab Meetup Fukuoka #1 4
Slide 5
Slide 5 text
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
Slide 6
Slide 6 text
GitLab.com2 SaaS » Free (EES૬) » Bronze » Silver » Gold 2 https://about.gitlab.com/gitlab-com/ 2017/9/19 GitLab Meetup Fukuoka #1 6
Slide 7
Slide 7 text
2017.1. 2017/9/19 GitLab Meetup Fukuoka #1 7
Slide 8
Slide 8 text
2017/9/19 GitLab Meetup Fukuoka #1 8
Slide 9
Slide 9 text
ʊਓਓਓਓਓਓʊ ʼɹಥવͷࢮɹʻ ʉY^Y^Y^Y^Yʉ 2017/9/19 GitLab Meetup Fukuoka #1 9
Slide 10
Slide 10 text
ϫΠແࣄࢮ! 2017/9/19 GitLab Meetup Fukuoka #1 10
Slide 11
Slide 11 text
ࢮʁ » ݸਓతʹAnsibleపఈೖͷݪߘΛཧ͍ͯͨ͠ ͍ʹ » ࠷৽σʔλϩʔΧϧʹ͍ͬͯͨ » ෮چΛԹ͔͍ͰݟΕͨ 2017/9/19 GitLab Meetup Fukuoka #1 11
Slide 12
Slide 12 text
ͦͷஔ͍ͱ͍ͯ 2017/9/19 GitLab Meetup Fukuoka #1 12
Slide 13
Slide 13 text
GitLab CEͷ͓ 2017/9/19 GitLab Meetup Fukuoka #1 13
Slide 14
Slide 14 text
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
Slide 15
Slide 15 text
GitLab Install3 3 https://about.gitlab.com/installation/ 2017/9/19 GitLab Meetup Fukuoka #1 15
Slide 16
Slide 16 text
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
Slide 17
Slide 17 text
Omnibus package installation » ਪ » GitLabશ෦ » ඞཁΞϓϦέʔγϣϯ(Ruby, Nginx, PostgreSQLͳͲ)ಉࠝ 2017/9/19 GitLab Meetup Fukuoka #1 17
Slide 18
Slide 18 text
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
Slide 19
Slide 19 text
Docker Run 2017/9/19 GitLab Meetup Fukuoka #1 19
Slide 20
Slide 20 text
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
Slide 21
Slide 21 text
ઃఆ มߋ docker exec -it gitlab vim /etc/gitlab/gitlab.rb ө docker restart gitlab 2017/9/19 GitLab Meetup Fukuoka #1 21
Slide 22
Slide 22 text
Docker Compose 2017/9/19 GitLab Meetup Fukuoka #1 22
Slide 23
Slide 23 text
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
Slide 24
Slide 24 text
ϙʔτ൪߸ » HTTP(80) » HTTPS(443) » SSH(22) 2017/9/19 GitLab Meetup Fukuoka #1 24
Slide 25
Slide 25 text
ϙʔτมߋ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
Slide 26
Slide 26 text
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
Slide 27
Slide 27 text
GitLab Runner 2017/9/19 GitLab Meetup Fukuoka #1 27
Slide 28
Slide 28 text
http://www.slidedeck.io/codethebuild/slides 2017/9/19 GitLab Meetup Fukuoka #1 28
Slide 29
Slide 29 text
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
Slide 30
Slide 30 text
ઃఆ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
Slide 31
Slide 31 text
͋ͱɺ͜ΕΛ͜͏ͯ͠… » 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
Slide 32
Slide 32 text
͜͏͡Όʂ 2017/9/19 GitLab Meetup Fukuoka #1 32
Slide 33
Slide 33 text
Multi Sites 2017/9/19 GitLab Meetup Fukuoka #1 33
Slide 34
Slide 34 text
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
Slide 35
Slide 35 text
·ͱΊ » ߏங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
Slide 36
Slide 36 text
͓ΘΓ 2017/9/19 GitLab Meetup Fukuoka #1 36