Download - Gitlab Спустя год в продакшене
![Page 1: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/1.jpg)
GitlabСпустя год в продакшене
Андрей КуманяевGitlab MVP
Undev
![Page 2: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/2.jpg)
1-й коммит – 11.2012Запуск в продакшен – 05.2013
![Page 3: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/3.jpg)
Вопросы?
@zzetorg
#devconf #gitlab
![Page 4: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/4.jpg)
![Page 5: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/5.jpg)
Что ждем?
• Создание репозиториев и управление ими• Предоставление доступа к репозиториям
(clone/push/manage)• Просмотр кода через web интерфейс• Быстро и легко вносить правки в код• Понятная и удобная история проекта• Diff• Git blame
![Page 6: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/6.jpg)
Gitlab
• Repository management• Code view / edit• Merge / Pull Requests• Code review• Issue tracker• Wiki’s• Snippets• etc…
![Page 7: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/7.jpg)
Project
![Page 8: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/8.jpg)
Group
![Page 9: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/9.jpg)
Team
![Page 10: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/10.jpg)
Permissions
• Non authorized user• Guest• Reporter• Developer• Master• Owner
Permissions
![Page 11: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/11.jpg)
Защита от дурака
X: Кто перезаписал репозиторий (git push --force origin develop)?Y: ЯX: Зачем? Там был мой код.Y: Я вмержил свою фичу, запушил код.Y: git ругнулся, что нужно забрать код из репозитория.Y: Я попытался, были конфликты, не было время их решать.Y: И я пушнул с ‘-f’
![Page 12: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/12.jpg)
Fork && Merge Request
![Page 13: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/13.jpg)
Fork && Merge Request
• Это – контентная область слайда.• Желательно создавать новые слайды, дублируя
(copy/paste) этот слайд в качестве образца, чтобы сохранить общую стилистику презентации. Также рекомендуется для набора текста использовать шрифт Trebuchet.
![Page 14: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/14.jpg)
Merge Request && Code Review
![Page 15: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/15.jpg)
Snippets
• Это – контентная область слайда.• Желательно создавать новые слайды, дублируя
(copy/paste) этот слайд в качестве образца, чтобы сохранить общую стилистику презентации. Также рекомендуется для набора текста использовать шрифт Trebuchet.
![Page 16: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/16.jpg)
Issues
• Это – контентная область слайда.• Желательно создавать новые слайды, дублируя
(copy/paste) этот слайд в качестве образца, чтобы сохранить общую стилистику презентации. Также рекомендуется для набора текста использовать шрифт Trebuchet.
![Page 17: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/17.jpg)
Issues
• Gitlab• Redmine• JIRA• etc…
![Page 18: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/18.jpg)
Search
• Projects• Groups• Merge Requests• Issues• Code in project (single)
… %LIKE% ...
git grep …
![Page 19: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/19.jpg)
Search
• Это – контентная область слайда.• Желательно создавать новые слайды, дублируя
(copy/paste) этот слайд в качестве образца, чтобы сохранить общую стилистику презентации. Также рекомендуется для набора текста использовать шрифт Trebuchet.
![Page 20: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/20.jpg)
Gitlab + elasticsearch
• Projects• Groups• Merge Requests• Issues• Code• Commits• Files
![Page 21: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/21.jpg)
Gitlab hooks
• Push• Tag• Merge Request• Issue
• System hook
![Page 22: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/22.jpg)
Gitlab Services
![Page 23: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/23.jpg)
Gitlab + Jenkins
Gitlab Gitlab Hook pluginJenkins
Gitlab Gitlab Hook plugin Jenkins
![Page 24: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/24.jpg)
Gitlab + Jenkins
![Page 25: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/25.jpg)
Сюда пишется заголовок слайда, также до 3 строк, не больше!
• Это – контентная область слайда.• Желательно создавать новые слайды, дублируя
(copy/paste) этот слайд в качестве образца, чтобы сохранить общую стилистику презентации. Также рекомендуется для набора текста использовать шрифт Trebuchet.
![Page 26: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/26.jpg)
APIUsersSessionProjectsProject SnippetsRepositoriesRepository FilesCommitsBranchesMerge RequestsIssuesMilestonesNotes (comments)Deploy KeysSystem HooksGroups
![Page 27: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/27.jpg)
APIClientsphp-gitlab-api - PHPLaravel API Wrapper for GitLab CE - PHP / LaravelRuby Wrapper - Rubypython-gitlab - Pythonjava-gitlab-api - Javanode-gitlab - Node.jsNGitLab - .NET
![Page 28: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/28.jpg)
Events
Все события, должны иметь прямое или косвенное отношение к проекту
• Push• Merge Request• Issue• Note• Team
![Page 29: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/29.jpg)
Notifications
• Подписаться можно на:– Project– Merge Request– Issue– Pushes (через подключение сервиса)
![Page 30: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/30.jpg)
Events
• Фиксируются все события, которые были описаны в DSL
Target Sourceaction
Target
SourceTarget
Targetaction
actionaction
![Page 31: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/31.jpg)
Notifications (undev)
• Подписаться можно на:– Проект– Группу проектов– Команду пользователей– Пользователя
• Подписаться можно на конкретные действия (action)
![Page 32: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/32.jpg)
Gitlab under microscope
Ruby on RailsPostgresql/MysqlRedisSidekiqUnicorn/Puma
![Page 33: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/33.jpg)
![Page 34: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/34.jpg)
Gitlab
![Page 35: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/35.jpg)
Gitlab
• Own private server– Gitlab CE
• DigitalOcean hosting– Gitlab CE
• Gitlab Cloud– Gitlab CE– Gitlab EE
![Page 36: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/36.jpg)
Gitlab private installation
• Deb packages• Chef/puppet/ansible• Docker• Gitlab installer• How-to
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.mdhttps://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.mdhttps://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/requirements.md
![Page 37: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/37.jpg)
Gitlab requirements
CPU
1 core2 cores4 cores 8 cores16 cores32 cores64 cores
Operating Systems
UbuntuDebianCentOSRedHat Enterprise LinuxScientific LinuxOracle Linux
Memory512MB - min
1GB - up to 100 users2GB - up to 500 users4GB - up to 2,000 users8GB - up to 5,000 users16GB - up to 10,000 users32GB - up to 20,000 users64GB - up to 40,000 users
![Page 38: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/38.jpg)
Кастомизация Gitlab|-- home| |-- git| |-- .ssh| |-- authorized_keys| |-- gitlab| |-- gitlab-satellites| |-- gitlab-shell| |-- repositories
|-- var| |-- git| |-- .ssh| |-- authorized_keys| |-- repositories/|-- some_path| |-- gitlab| |-- releases| |-- some_release/| |-- current/| |-- shared| |-- gitlab-satellites/| |-- gitlab-shell| |-- releases| |-- some_release/| |-- current/
![Page 39: Gitlab Спустя год в продакшене](https://reader033.vdocuments.mx/reader033/viewer/2022061600/56815ed4550346895dcd6d1f/html5/thumbnails/39.jpg)
Если появились вопросы?
• Maintenance policy • Troubleshooting guide• Mailing list and Stack Overflow• Feature request forum• Contributing guide• #gitlab IRC channel на Freenode• GitLab Book написанная энтузиастом Jonathan M. Hethey• Gitter chat room• GitLab Youtube Channel• GitLab documentation• Issue tracker