Gitlab本地代碼,自動發佈至正式服務器

場景描述

1 Git服務器:centos6.5,本地環境內網運行。
2 正式服務器:windows server 2008,阿里雲公網運行

業務需求:能夠將Git服務器存儲的代碼,自動發佈至正式服務器上。

準備工具

1、Gitlab >=9.0
2、Gitlab-runner
3、powershell
4、花生殼(免費版)

前置條件

1、Gitlab正確配置,並正常運行。
2、Git服務器內網固定IP (如:192.168.0.19)
3、兩臺服務器都裝有Git同版本的客戶端。

本教程默認以上工具和前置條件都已經實現。

安裝工具

首先當然是先安裝準備工具。

1 安裝Gitlab (安裝教程百度一下,一大把)
2 給windows服務器安裝powershell(安裝教程百度一下,一大把)
3 給Git服務器安裝花生殼(centos版)(安裝教程百度一下,一大把)

配置Gitlab

都安裝好之後,先來看Gitlab

以我測試的爲例,進入到項目列表,然後選擇一個要部署的項目

然後選擇 Settings->Pipelines,

Gitlab有兩種執行Runner的模式:
一種是Specific Runners,該模式只能作用域當前選擇的項目。
另一種是Shared Runners,該模式可以作用域所有項目,但是需要root權限才能創建,一般也用不到這個模式。

我們選擇Specific模式

提示中的:2和3項的URL和Token,這兩個將是配置Runner的關鍵信息。

配置Runner

現在打開正式服務器,安裝Gitlab-runner,安裝好之後,要註冊剛纔的test項目,過程中需要選擇True/False的,選擇True。

cmd定位到Gitlab-runner根目錄,執行 gitlab-runner.exe register 命令,

將URL和Token填好,監聽的分支Tag填寫master,表示只有當master變動的時候,才觸發自動部署。

然後,在項目根目錄創建.gitlab-ci.yml文件,寫入以下內容,保存至項目根目錄

stages:
    - build
build:
  stage: build
  script:
    # 打開到項目目錄
    - cd E:\php\phpStudy\WWW
    # 執行pull操作
    - git pull origin master
  only:
    # 只有master分支才執行
    - master

測試

在Gitlab上,提交一次合併請求,當合並請求被通過時,看同步是否能完成。如果出現對號符號,則表示Updates已經更新至正式服務器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章