प्रौद्योगिकी साझेदारी

जिहु गिटलब प्रयोग (२) २.

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

सामग्रीसूची

1. प्रशासकगुप्तशब्दं परिवर्तयितुं Gitlab आदेशपङ्क्तिः

2. गिटलैब सेवा प्रबन्धन

3. कम्पनीयाः विकाससङ्केतप्रस्तुतिप्रक्रिया

4. Gitlab बैकअप तथा पुनर्प्राप्ति

data backup इति

परीक्षणदत्तांशपुनर्प्राप्तिः

5. ईमेल विन्यासः


 

1. प्रशासकगुप्तशब्दं परिवर्तयितुं Gitlab आदेशपङ्क्तिः

  1. [root@tty01 ~]# gitlab-rails console -e production # 启动GitLab的Rails控制台
  2. --------------------------------------------------------------------------------
  3. Ruby: ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
  4. GitLab: 16.11.5-jh (3a067aedcc3) EE
  5. GitLab Shell: 14.35.0
  6. PostgreSQL: 14.11
  7. ------------------------------------------------------------[ booted in 50.69s ]
  8. Loading production environment (Rails 7.0.8.1)
  9. irb(main):001:0> user = User.where(id: 1).first # id为1的是超级管理员
  10. => #<User id:1 @root>
  11. irb(main):002:0> user.password = 'Qq111111' # 密码必须至少8个字符
  12. => "Qq111111"
  13. irb(main):003:0> user.save! # 如没有问题 返回true
  14. => true
  15. irb(main):004:0> exit # 退出

2. गिटलैब सेवा प्रबन्धन

  1. gitlab-ctl start # 启动所有 gitlab 组件;
  2. gitlab-ctl stop # 停止所有 gitlab 组件;
  3. gitlab-ctl restart # 重启所有 gitlab 组件;
  4. gitlab-ctl status # 查看服务状态;
  5. gitlab-ctl reconfigure # 启动服务;
  6. vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
  7. gitlab-ctl tail # 查看日志;

3. कम्पनीयाः विकाससङ्केतप्रस्तुतिप्रक्रिया

  • परियोजनाप्रबन्धकाः (PM) GitLab मध्ये कार्याणि निर्माय विकासकानां कृते नियुक्तं कुर्वन्ति

    • PM GitLab इत्यस्य Issue फंक्शन् इत्यस्य उपयोगं कृत्वा कार्यं निर्माति तथा च कार्यस्य विस्तृतं विवरणं आवश्यकतां च निर्दिशति ।
    • विशिष्टविकासकानाम् कार्याणि नियुक्तानि, प्राथमिकतानि, समयसीमाः च निर्धारयन्तु ।
  • विकासकः कार्यं प्राप्तवान् ततः परं सः कोडपुस्तकालयं आकर्षयितुं स्थानीयरूपेण git clone इत्यस्य उपयोगं करोति

    • विकासकः स्थानीय टर्मिनल् मध्ये आदेशं निष्पादयति :
      git clone <仓库地址>
    • कोड आधारं स्वस्य स्थानीयविकासवातावरणे क्लोन कुर्वन्तु ।
  • विकासकाः विकासशाखाः निर्माय विकासं कुर्वन्ति

    • स्थानीयतया नूतना विकासशाखायाः निर्माणं कुर्वन्तु, यथा-dev
      git checkout -b dev
    • अस्तिdevशाखायां संहिताविकासः परिवर्तनं च क्रियते ।
  • विकासकः विकासं सम्पन्नं कृत्वा सः तत् स्थानीयगोदामे प्रस्तौति

    • स्थानीयरूपेण कोडपरिवर्तनं प्रस्तुतं कुर्वन्तु:
      git add . git commit -m "完成任务描述"
  • विकासकाः GitLab अन्तरफलके शाखाविलय-अनुरोधस्य (Merge request) कृते आवेदनं कुर्वन्ति

    • स्थानीयशाखां दूरस्थभण्डारं प्रति धक्कायन्तु:
      git push origin dev
    • GitLab मध्ये प्रवेशं कुर्वन्तु, परियोजनायाः Merge Requests पृष्ठे नूतनं Merge Request रचयन्तु, तथा च विलीनीकरणीयं स्रोतशाखां लक्ष्यशाखां च चिनोतु (सामान्यतयाmasterवाmain)。
  • PM GitLab इत्यत्र प्रस्तुतीनां कोडपरिवर्तनानां च जाँचं करोति यत् ते सम्यक् सन्ति इति पुष्टिं कृत्वा विकासकस्य शाखा मुख्यशाखायाः विलयः भविष्यति इति पुष्टिं कुर्वन्तु ।

    • PM GitLab इत्यत्र Merge Request इत्यस्य समीक्षां करोति, यत्र कोडपरिवर्तनं, प्रस्तुतीकरणस्य अभिलेखाः च सन्ति ।
    • यदि सर्वं सम्यक् भवति तर्हि PM Merge Request इत्यस्य अनुमोदनं करिष्यति, अनुमोदयिष्यति चdevशाखा विलीनतां प्राप्तवतीmasterशाखा।
  • विकासकः GitLab इत्यत्र कृते Mark द्वारा विकासः सम्पन्नः इति पुष्टिं करोति तथा च Issue बन्दं करोति ।

    • विकासकाः Merge Request प्रस्तूयन्ते सति विवरणे योजयितुं शक्नुवन्तिclose #1(इत्यस्मिन्‌#1is the Issue number), येन यदा Merge Request विलयः भवति तदा सम्बन्धितः Issue स्वयमेव बन्दः भविष्यति ।
    • यदि विवरणे Issue बन्दं कर्तुं कोऽपि निर्देशः न योजितः तर्हि विकासकः Issue पृष्ठे Issue इत्येतत् मैन्युअल् रूपेण बन्दं कर्तुं शक्नोति ।

 

4. Gitlab बैकअप तथा पुनर्प्राप्ति

सिस्टम् वर्जनं सॉफ्टवेयर वर्जनं च पश्यन्तु

  1. [root@tty01 ~]# cat /etc/redhat-release
  2. Rocky Linux release 9.4 (Blue Onyx)
  3. [root@tty01 ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
  4. 16.11.5-jh
data backup इति

/etc/gitlab/gitlab.rb विन्याससञ्चिकां उद्घाट्य बैकअपसम्बद्धं विन्यासवस्तुं पश्यन्तु:

 

  1. [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #启用下述两个配置项
  2. gitlab_rails['manage_backup_path'] = true #指定GitLab是否应该自动管理备份路径
  3. gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #指定GitLab备份文件的存储路径

एतत् द्रव्यं पूर्वनिर्धारित-बैकअप-सञ्चिकायाः ​​मार्गं परिभाषयति gitlab-ctl पुनः विन्यस्तं कुर्वन्तु अथवा gitlab-ctl पुनः आरभ्यताम् सेवां प्रभावितुं पुनः आरभत।

  1. [root@tty01 ~]# gitlab-ctl reconfigure
  2. [root@tty01 ~]# gitlab-ctl restart

बैकअपं कर्तुं backup आदेशं निष्पादयन्तु

[root@tty01 ~]# gitlab-rake gitlab:backup:create

आदेशं निष्पादयित्वा चेतावनीसन्देशः दृश्यते ।gitlab.rbतथाgitlab-secrets.json सञ्चिकायां संवेदनशीलदत्तांशः अस्ति, अस्मिन् बैकअप-मध्ये न समाविष्टा । बैकअपं पुनःस्थापयति सति एतासां सञ्चिकानां बैकअपं स्वहस्तेन करणीयम् ।

अवश्यं एतानि योजनाकृतकार्यैः सह अपि कर्तुं शक्यन्ते ।

बैकअप निर्देशिकायां सञ्चिकाः सामान्यतया सन्ति वा इति पश्यन्तु

  1. [root@tty01 ~]# ls /var/opt/gitlab/backups/
  2. 1720624341_2024_07_10_16.11.5-jh_gitlab_backup.tar

प्रतिदिनं बैकअपं न कर्तुं बैकअप-धारणसमयं सेट् कुर्वन्तु /etc/gitlab/gitlab.rb विन्याससञ्चिकां उद्घाटयन्तु तथा च निम्नलिखितविन्यासः अन्वेष्टुम् ।

  1. [root@tty01 ~]# vim /etc/gitlab/gitlab.rb # 启用下述两个配置项
  2. gitlab_rails['backup_keep_time'] = 604800 # 设置备份文件过期时间,604800秒等于7天

विन्यस्तः समयः सेकण्ड्-मात्रेषु भवति यदि भवान् तत् वर्धयितुम् अथवा न्यूनीकर्तुं इच्छति तर्हि भवान् प्रत्यक्षतया अत्र विन्यस्तुं शक्नोति तथा च gitlab-ctl restart इत्यस्य माध्यमेन सेवां पुनः आरभ्य प्रभावं कर्तुं शक्नोति ।

यदा बैकअप सम्पन्नं भवति तदा बैकअप निर्देशिकायां अद्यतनतिथियुक्तं tar संकुलं उत्पद्यते ।

परीक्षणदत्तांशपुनर्प्राप्तिः

प्रशासनिकप्रयोक्तृरूपेण प्रवेशं कृत्वा पुस्तकालयस्य वस्तूनि विलोपयन्तु

 

पुनर्स्थापनात् पूर्वं भवद्भिः दत्तांशसंयोजनसेवा स्थगितव्या:

  1. [root@tty01 ~]# gitlab-ctl stop unicorn
  2. [root@tty01 ~]# gitlab-ctl stop sidekiq

यदि ताइशिन् द्वारा निर्मितं होस्ट् अस्ति तर्हि सामान्यतया दत्तांशसंयोजनसञ्चालनं स्थगयितुं आवश्यकता नास्ति । एतयोः सेवायोः स्थगनं दत्तांशस्य स्थिरतां सुनिश्चित्य भवति । सामान्यतया, पुरातनसर्वरस्य /data/gitlab/backups निर्देशिकायां बैकअपसञ्चिकाः पुनर्प्राप्त्यर्थं नूतनसर्वरस्य /data/gitlab/backups इत्यत्र प्रतिलिपिताः भवन्ति ।

नोट् अनुमतिः : ६०० अनुमतिः पुनः स्थापयितुं न शक्यते । प्रयोगात्मकं वातावरणं 777 इति परिवर्तयितुं शक्यते उत्पादनवातावरणस्य कृते स्वामिनः समूहस्य च परिवर्तनं अनुशंसितम् ।

आदेशं निष्पादयित्वा किञ्चित्कालं प्रतीक्ष्यताम्... ततः पुनर्प्राप्तिम् पूर्णं कर्तुं द्विवारं yes इति प्रविशतु ।

  1. [root@tty01 ~]# cd /var/opt/gitlab/backups/ #进入数据备份目录
  2. [root@tty01 backups]# gitlab-rake gitlab:backup:restore BACKUP=1720624341_2024_07_10_16.11.5-jh

अत्र BACKUP= परं सञ्चिकानाम प्रति ध्यानं ददातु, नूतनसंस्करणेषु, पूर्णनाम उपयोक्तुं न शक्यते, _gitlab_backup.tarh स्वयमेव योजितं भविष्यति, अतः सञ्चिकानामस्य परं बिन्दुः अत्र लिखितुं न शक्यते ।

पुनर्प्राप्तिः समाप्तस्य अनन्तरं, भवान् इदानीं सर्वाणि सेवानि पुनः आरभुं शक्नोति, अथवा केवलं पूर्वं निमीलितौ दत्तांशसंयोजनसेवाद्वयं आरभुं शक्नोति ।

  1. [root@tty01 backups]# gitlab-ctl restart
  2. [root@tty01 backups]# gitlab-ctl start unicorn
  3. [root@tty01 backups]# gitlab-ctl start sidekiq

नोट्: बैकअप सञ्चिकानां माध्यमेन gitlab पुनर्स्थापनेन सुनिश्चितं कर्तव्यं यत् द्वयोः होस्ट्-योः gitlab संस्करणं सुसंगतं भवति, अन्यथा संस्करणं न मेलति इति प्रेरयिष्यति  

 

विलोपितं दत्तांशं द्रष्टुं पुनः ताजगीं कुर्वन्तु अथवा प्रवेशं कुर्वन्तु ।

 

 

5. ईमेल विन्यासः

कृपया स्वस्य ईमेल-सङ्केतं, ईमेल-सेवा-प्रदाता, प्राधिकरण-सङ्केतं, पोर्ट् इत्यादिषु सूचनासु परिवर्तयन्तु ।

  1. [root@tty01 ~]# vim /etc/gitlab/gitlab.rb #找到并替换邮箱配置,更改你的邮箱进行测试
  2. gitlab_rails['smtp_enable'] = true
  3. gitlab_rails['smtp_address'] = "smtp.163.com"
  4. gitlab_rails['smtp_port'] = 465
  5. gitlab_rails['smtp_user_name'] = "newrain_wang@163.com"
  6. gitlab_rails['smtp_password'] = "UWYNCPQOBQFCDLIW"
  7. gitlab_rails['smtp_domain'] = "smtp.163.com"
  8. gitlab_rails['smtp_authentication'] = "login"
  9. gitlab_rails['smtp_enable_starttls_auto'] = false
  10. gitlab_rails['smtp_tls'] = true
  11. gitlab_rails['smtp_pool'] = false
  12. gitlab_rails['gitlab_email_from'] = 'newrain_wang@163.com'

 

सेट् कृत्वा, सेव् कृत्वा निर्गन्तुं, ततः विन्यासं पुनः लोड् कुर्वन्तु ।

[root@tty01 ~]# gitlab-ctl reconfigure  #重新配置 GitLab 服务

जालपुटे प्रवेशं कृत्वा यादृच्छिकप्रयोक्तृरूपेण प्रवेशं कुर्मः ।

 

परिवर्तनं कृत्वा Save इत्यत्र क्लिक् कृत्वा भवद्भिः स्वस्य ईमेल मध्ये गत्वा सत्यापनार्थं Confirm इत्यत्र क्लिक् कर्तव्यम् ।

यदा अहं मेलबॉक्सं प्रति आगच्छामि तदा अहं पश्यामि यत् प्रेषकः मया विन्यासे पूरितः qq मेलबॉक्सः अस्ति, तथा च उपयोक्तुः परिवर्तिते मेलबॉक्से सत्यापनम् प्रेष्यते ।

Verify नुदन् नूतनपृष्ठं प्रति कूर्दति, यत्र भवान् द्रष्टुं शक्नोति यत् उपयोक्ता सफलतया स्वस्य ईमेल-सङ्केतं परिवर्तयति ।