使用gitlab實現上線自動化

2021-09-21 03:31:14 字數 1972 閱讀 5043

頭腦風暴和總結:

使用者: 所有的web服務,都應該使用普通使用者啟動。 所有的web服務都不應該監聽80埠,除了負載均衡。(普通使用者無法啟動80埠,除非使用suid)

useradd www  -u 2000  # 新增使用者統一uid

ssh-keygen -t rsa   # 生成認證的key,將公鑰新增到分發機上

2. 編寫部署指令碼需要注意的幾個問題:

3. 安裝gitlab 並設定:

[root@linux-node2 ~]# yum install curl policycoreutils openssh-server openssh-clients postfix[root@linux-node2 ~]# systemctl start postfix
curl -ss  ... pm.sh | sudo bash[root@linux-node2 ~]# yum install -y gitlab-ce

注:由於網路問題,國內使用者,建議使用清華大學的映象源進行安裝:

[root@linux-node2 ~]# vim /etc/yum.repos.d/gitlab-ce.repo[gitlab-ce]

name=gitlab-ce

baseurl= ... m/el7repo_gpgcheck=0

gpgcheck=0

enabled=1

gpgkey= ~]# yum makecache[root@linux-node2 ~]# yum install gitlab-ce

[root@linux-node2 ~]# gitlab-ctl reconfigure
可以使用gitlab-ctl管理gitlab,例如檢視gitlab狀態:

[root@linux-node2 ~]# gitlab-ctl status

run: gitlab-workhorse: (pid 12171) 231s; run: log: (pid 7817) 555s

run: logrotate: (pid 12175) 230s; run: log: (pid 7832) 548s

run: nginx: (pid 12181) 230s; run: log: (pid 7823) 549s

run: postgresql: (pid 12186) 229s; run: log: (pid 7683) 587s

run: redis: (pid 12194) 229s; run: log: (pid 7600) 592s

run: sidekiq: (pid 12198) 229s; run: log: (pid 7806) 558s

run: unicorn: (pid 14967) 6s; run: log: (pid 7774) 560s

關閉gitlab:[root@linux-node2 ~]# gitlab-ctl stop

啟動gitlab:[root@linux-node2 ~]# gitlab-ctl start

重啟gitlab:[root@linux-node2 ~]# gitlab-ctl restart

1

2

3

vim/etc/gitlab/gitlab.rb

external_url '# 修改url路徑名

修改之後需要重新配置gitlab: 1

gitlab-ctl reconfigure

4.本地設定ssh-key之後可以建立專案,新增具體的資訊。部署指令碼執行流程:

5.針對不同的專案使用不同的指令碼,對不同的專案可以使用相同的指令碼框架和思路。標準化規劃需要在專案初期做好。

Jenkins 與 GitLab 的自動化構建

jenkins 是乙個功能強大的應用程式,允許持續整合和持續交付專案,無論用的是什麼平台。持續整合是個簡單重複勞動,人來操作費時費力,使用自動化構建工具完成是最好不過的了。整合 jenkins 可以用於一些測試和部署技術,需要開發人員定期整合 到共享儲存庫。持續整合要求開發人員有頻繁的構建。最常見的...

使用gulp實現前端自動化

const gulp require gulp const clean require gulp clean const fileinclude require gulp file include const rev require gulp rev const revreplace require...

使用UI Automation實現自動化測試 1

ui automation是microsoft net 3.0框架下提供的一種用於自動化測試的技術,是在msaa基礎上建立的,msaa就是microsoft active accessibility。ui automation在某些方面超過了msaa,ui自動化提供了windows vista中,微...