Gitlab kasutamine
Sissejuhatus
TODO
Mõisted
- GitLab Community Edition (CE)
- Enterprise Edition (EE)
Tööpõhimõte
Gitlab kasutab sisemiselt selliseid protokolle
- gRPC
Gitlab on programmeeritud selliste arendusvahendite abil
- ruby
- golang
Gitlab lahenduse moodustavad muuhulgas sellised komponendid
- postgresql
- ssh server
- redis
- gitaly
- gitlab-kas
- puma
- sidekiq
- nginx
Eposti väljumise seadistamine
Docker compose failis sobib kasutada lõiku
või konteineri sees failis lõiku
root@arendus:/# grep smtp_ /etc/gitlab/gitlab.rb gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "192.168.1.250" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "gitlab@moraal.ee" gitlab_rails['smtp_password'] = "parool" gitlab_rails['smtp_domain'] = "arendus.moraal.ee" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false gitlab_rails['smtp_pool'] = false gitlab_rails['smtp_openssl_verify_mode'] = 'none'
Konteineri sees rakenduse seadistuste kehtestamiseks sobib öelda
root@arendus:/# gitlab-ctl reconfigure
Testimiseks
root@arendus:/# gitlab-rails console
--------------------------------------------------------------------------------
Ruby: ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]
GitLab: 14.4.1 (1a23d731c9f) FOSS
GitLab Shell: 13.21.1
PostgreSQL: 12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.4.1)
irb(main):004:0> Notify.test_email('imre@moraal.ee', 'Message Subject', 'Message Body').deliver_now
Gitlab runner
Gitlab runner https://docs.gitlab.com/runner/install/
Tööpõhimõte
TODO
Paigaldamine
Paigaldamiseks
$ cat docker-compose.yml
version: '3'
services:
gitlab-runner:
image: 'gitlab/gitlab-runner:latest'
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /srv/gitlab-runner/config:/etc/gitlab-runner
restart: unless-stopped
ports:
- '8093:8093'
ning seejärel öeldakse
imre@docker:~/20221110$ docker-compose up -d
Registreerimine Gitlab'iga toimub interaktiivselt
imre@docker:~/20221110$ docker-compose exec gitlab-runner gitlab-runner register
Kasulikud lisamaterjalid
- https://docs.gitlab.com/runner/install/docker.html
- https://docs.gitlab.com/runner/register/index.html#docker
- https://techoverflow.net/2021/01/12/how-to-install-gitlab-runner-using-docker-compose/
Kasutamine
TODO
Gitlab docker compose põhise lahenduse tarkvara uuendamine
Uuendamise protseduur
lõpetada konteineri töötamine
$ docker compose stop
kirjutada docker-compose.yml faili uus image väärtus, vastavalt upgrade-path soovitusele
TODO
käivitada konteiner
$ docker compose up -d
Jälgida progressi üldiste vahenditega, nt top
$ docker compose logs -f
küsida konteneri sees
# docker-compose exec gitlab-runner gitlab-runner regis # gitlab-rails runner -e production 'puts Gitlab::BackgroundMigration.remaining' # gitlab-rails runner -e production 'puts Gitlab::Database::BackgroundMigration::BatchedMigration.queued.count'
Vaadata gitlab webgui pealt kontrolliks
TODO
küsida gitlab konteineri sees kontrolliks
imre@arendus:~/20211108/gitlab$ docker exec -ti ff0e01341e bash root@arendus:/# gitlab-rails runner -e production 'puts Gitlab::BackgroundMigration.remaining' 0 root@arendus:/# gitlab-rails runner -e production 'puts Gitlab::Database::BackgroundMigration::BatchedMigration.queued.count' 0 root@arendus:/# gitlab-rails runner -e production 'puts Gitlab::Database::BackgroundMigration::BatchedMigration.with_status(:failed).count' 0 root@arendus:/# gitlab-rake gitlab:snippets:list_non_migrated All snippets have been successfully migrated root@arendus:/#
Kasulikud lisamaterjalid
- https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/?current=14.7.0&distro=docker&edition=ce
- https://docs.gitlab.com/15.7/ee/update/background_migrations.html
Gitlab uuendamine
upgrade path valimine
Gitlab lahenduse upgrade peab toimuma nn upgrade-steps täpse läbimise viisil
https://docs.gitlab.com/ -> UseGitLab -> Install -> Upgrade GitLab -> Upgrade paths -> Upgrade Path tool
Aadressil https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/ paistab selline pilt
kus
- valida CE või EE
- valida platform, nt Docker
- valida start ja end versioonid
seejärel paistab selline vastus
kus
- TODO
Prometheus väljalülitamine
imre@moraal:~$ diff gitlab.rb-enne gitlab.rb-parast 990c990 < # puma['exporter_enabled'] = false --- > puma['exporter_enabled'] = false 1033c1033 < # sidekiq['metrics_enabled'] = true --- > sidekiq['metrics_enabled'] = false 2040c2040 < # prometheus_monitoring['enable'] = true --- > prometheus_monitoring['enable'] = false
Kasulikud lisamaterjalid
Postgresql baasi uurimine
imre@arendus:~/20211108/gitlab$ docker exec -it ff gitlab-psql
psql (14.17)
Type "help" for help.
gitlabhq_production=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
---------------------+-------------+----------+---------+---------+---------------------------------
gitlabhq_production | gitlab | UTF8 | C.UTF-8 | C.UTF-8 |
postgres | gitlab-psql | UTF8 | C.UTF-8 | C.UTF-8 |
template0 | gitlab-psql | UTF8 | C.UTF-8 | C.UTF-8 | =c/"gitlab-psql" +
| | | | | "gitlab-psql"=CTc/"gitlab-psql"
template1 | gitlab-psql | UTF8 | C.UTF-8 | C.UTF-8 | "gitlab-psql"=CTc/"gitlab-psql"+
| | | | | =c/"gitlab-psql"
(4 rows)
Kasulikud lisamaterjalid
- TODO
root@arendus:~# du -sk /srv/gitlab/data/* | sort -nr | head -n 5 102722004 /srv/gitlab/data/prometheus 3811892 /srv/gitlab/data/gitlab-rails 1318720 /srv/gitlab/data/postgresql 303560 /srv/gitlab/data/git-data 148700 /srv/gitlab/data/gitaly