informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Daftar isi
1. Baris perintah Gitlab untuk mengubah kata sandi administrator
3. Proses penyerahan kode pengembangan perusahaan
4. Pencadangan dan pemulihan Gitlab
- [root@tty01 ~]# gitlab-rails console -e production # 启动GitLab的Rails控制台
- --------------------------------------------------------------------------------
- Ruby: ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
- GitLab: 16.11.5-jh (3a067aedcc3) EE
- GitLab Shell: 14.35.0
- PostgreSQL: 14.11
- ------------------------------------------------------------[ booted in 50.69s ]
- Loading production environment (Rails 7.0.8.1)
- irb(main):001:0> user = User.where(id: 1).first # id为1的是超级管理员
- => #<User id:1 @root>
- irb(main):002:0> user.password = 'Qq111111' # 密码必须至少8个字符
- => "Qq111111"
- irb(main):003:0> user.save! # 如没有问题 返回true
- => true
- irb(main):004:0> exit # 退出
- gitlab-ctl start # 启动所有 gitlab 组件;
- gitlab-ctl stop # 停止所有 gitlab 组件;
- gitlab-ctl restart # 重启所有 gitlab 组件;
- gitlab-ctl status # 查看服务状态;
- gitlab-ctl reconfigure # 启动服务;
- vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
- gitlab-ctl tail # 查看日志;
Manajer proyek (PM) membuat tugas di GitLab dan menugaskannya ke pengembang:
Setelah pengembang menerima tugas tersebut, dia menggunakan git clone secara lokal untuk menarik pustaka kode:
git clone <仓库地址>
Pengembang membuat cabang pengembangan dan berkembang:
dev
: git checkout -b dev
dev
Pengembangan dan modifikasi kode dilakukan di cabang.Setelah pengembang menyelesaikan pengembangan, ia menyerahkannya ke gudang setempat:
git add . git commit -m "完成任务描述"
Pengembang mengajukan permintaan penggabungan cabang (Merge request) pada antarmuka GitLab:
git push origin dev
master
ataumain
)。PM memeriksa pengiriman dan modifikasi kode di GitLab. Setelah memastikan kebenarannya, konfirmasikan bahwa cabang pengembang akan digabungkan ke dalam cabang utama.:
dev
Cabang digabung menjadimaster
cabang.Pengembang mengonfirmasi bahwa pengembangan telah diselesaikan oleh Mark di GitLab dan menutup Masalah.:
close #1
(di dalam#1
adalah nomor Masalah), sehingga ketika Permintaan Penggabungan digabungkan, Masalah terkait akan ditutup secara otomatis.
Periksa versi sistem dan versi perangkat lunak
- [root@tty01 ~]# cat /etc/redhat-release
- Rocky Linux release 9.4 (Blue Onyx)
- [root@tty01 ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
- 16.11.5-jh
Buka file konfigurasi /etc/gitlab/gitlab.rb dan lihat item konfigurasi yang terkait dengan pencadangan:
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #启用下述两个配置项
- gitlab_rails['manage_backup_path'] = true #指定GitLab是否应该自动管理备份路径
- gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #指定GitLab备份文件的存储路径
Item ini menentukan jalur file cadangan default. Anda dapat mengubah konfigurasi dan menjalankannya konfigurasi ulang gitlab-ctl atau restart gitlab-ctl Mulai ulang layanan agar diterapkan.
- [root@tty01 ~]# gitlab-ctl reconfigure
- 或
- [root@tty01 ~]# gitlab-ctl restart
Jalankan perintah cadangan untuk membuat cadangan
[root@tty01 ~]# gitlab-rake gitlab:backup:create
Setelah menjalankan perintah, pesan peringatan muncul:gitlab.rb
Dangitlab-secrets.json
File tersebut berisi data sensitif dan tidak disertakan dalam cadangan ini. Saat memulihkan cadangan, file-file ini perlu dicadangkan secara manual.
Tentu saja, hal ini juga dapat dilakukan bersamaan dengan tugas yang direncanakan.
Periksa apakah file di direktori cadangan ada secara normal
- [root@tty01 ~]# ls /var/opt/gitlab/backups/
- 1720624341_2024_07_10_16.11.5-jh_gitlab_backup.tar
Atur waktu retensi cadangan untuk mencegah pencadangan dilakukan setiap hari. Pasti ada risiko direktori penuh. Buka file konfigurasi /etc/gitlab/gitlab.rb dan temukan konfigurasi berikut:
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb # 启用下述两个配置项
- gitlab_rails['backup_keep_time'] = 604800 # 设置备份文件过期时间,604800秒等于7天
Waktu yang dikonfigurasi dalam hitungan detik. Jika Anda ingin menambah atau menguranginya, Anda dapat mengonfigurasinya langsung di sini dan memulai ulang layanan melalui gitlab-ctl restart agar diterapkan.
Ketika pencadangan selesai, paket tar dengan tanggal hari ini akan dibuat di direktori pencadangan.
Masuk sebagai pengguna administratif dan hapus item perpustakaan
Anda harus menghentikan layanan koneksi data sebelum memulihkan:
- [root@tty01 ~]# gitlab-ctl stop unicorn
- [root@tty01 ~]# gitlab-ctl stop sidekiq
Jika itu adalah host yang dibuat oleh Taishin, biasanya tidak perlu menghentikan operasi koneksi data. Secara teori, kedua layanan ini boleh saja dihentikan. Menghentikan kedua layanan ini adalah untuk memastikan konsistensi data. Umumnya, file cadangan di direktori /data/gitlab/backups di server lama disalin ke /data/gitlab/backups di server baru untuk pemulihan.
Izin catatan: 600 izin tidak dapat dipulihkan. Lingkungan percobaan dapat diubah menjadi 777. Untuk lingkungan produksi, disarankan untuk mengubah pemilik dan grup.
Setelah menjalankan perintah, tunggu beberapa saat... lalu masukkan yes dua kali untuk menyelesaikan pemulihan.
- [root@tty01 ~]# cd /var/opt/gitlab/backups/ #进入数据备份目录
- [root@tty01 backups]# gitlab-rake gitlab:backup:restore BACKUP=1720624341_2024_07_10_16.11.5-jh
Perhatikan nama file setelah BACKUP= di sini. Pada versi yang lebih baru, nama lengkap _gitlab_backup.tarh akan otomatis ditambahkan, jadi titik setelah nama file tidak dapat ditulis di sini.
Setelah pemulihan selesai, kini Anda dapat memulai ulang semua layanan, atau memulai saja kedua layanan koneksi data yang ditutup tadi.
- [root@tty01 backups]# gitlab-ctl restart
- 或
- [root@tty01 backups]# gitlab-ctl start unicorn
- [root@tty01 backups]# gitlab-ctl start sidekiq
Catatan: Memulihkan gitlab melalui file cadangan harus memastikan bahwa versi gitlab dari kedua host konsisten, jika tidak maka versinya akan tidak cocok.
Refresh atau login kembali untuk melihat data yang terhapus.
Silakan ubah ke alamat email Anda, penyedia layanan email, kode otorisasi, port dan informasi lainnya.
- [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #找到并替换邮箱配置,更改你的邮箱进行测试
- gitlab_rails['smtp_enable'] = true
- gitlab_rails['smtp_address'] = "smtp.163.com"
- gitlab_rails['smtp_port'] = 465
- gitlab_rails['smtp_user_name'] = "[email protected]"
- gitlab_rails['smtp_password'] = "UWYNCPQOBQFCDLIW"
- gitlab_rails['smtp_domain'] = "smtp.163.com"
- gitlab_rails['smtp_authentication'] = "login"
- gitlab_rails['smtp_enable_starttls_auto'] = false
- gitlab_rails['smtp_tls'] = true
- gitlab_rails['smtp_pool'] = false
- gitlab_rails['gitlab_email_from'] = '[email protected]'
Setelah pengaturan, simpan dan keluar, lalu muat ulang konfigurasi.
[root@tty01 ~]# gitlab-ctl reconfigure #重新配置 GitLab 服务
Masuk ke halaman web dan masuk sebagai pengguna acak. Kami menggunakan format email acak yang kami gunakan sebelumnya.
Setelah melakukan perubahan dan mengklik Simpan, sebuah pop-up akan muncul. Anda harus membuka email Anda dan mengklik Konfirmasi untuk verifikasi.
Ketika saya masuk ke kotak surat, saya dapat melihat bahwa pengirimnya adalah kotak surat qq yang saya isi konfigurasinya, dan verifikasi dikirim ke kotak surat pengguna yang diubah.
Mengklik Verifikasi akan melompat ke halaman baru, di mana Anda dapat melihat bahwa pengguna telah berhasil mengubah alamat emailnya.