1. 程式人生 > >通過gitlab的webhook進行專案的自動部署所遇問題總結

通過gitlab的webhook進行專案的自動部署所遇問題總結

在百度搜索了一下 git webhook 這個關鍵字,沒有看到有相關的詳細的應用教程。

所以決定把 自己這段時間以來的摸索 寫成文字 分享給大家 。

最近碰到這樣的一個需求,就是 本地提交程式碼 到 git倉庫以後 需要 網站 遠端自動同步程式碼 。

git 的 webhook  正好能 滿足 這個需求。

git

具體步驟:

伺服器端:

1. 伺服器端 生成 apache 的 deploy key

sudo -u apache ssh-keygen -t rsa -C “[email protected]

2.給apache 操作目錄的許可權

第一種方法 直接給 目錄 777 許可權 簡單粗暴

第二種方法 建立使用者組  把 ftp使用者 和 apache 新增到該組別裡面 , 給予該組許可權

groupadd gitwriters
adduser [yourusername] gitwriters
adduser apache gitwriters
chgrp -R gitwriters /path/to/your/repo
chmod -R g+rw /path/to/your/repo
 3.在需要自動同步的倉庫開啟hook
cd /專案/.git/
cp hooks/post-receive.sample hooks/post-receive
vim hooks/post-receive
#加入下面程式碼
GIT_WORK_TREE=/home/www git checkout -f

 4.加入接收 webhook的 指令碼,  在專案 建立 update.php
$www_folder = "/2T/ftp/utools/uilib" ;

//git倉庫地址
$git_repo = "[email protected]/.......abc.git" ;

//執行指令 
echo shell_exec(" cd $www_folder && git pull $git_repo 2>&1 ");
gitlab 端的設定:
找到專案的設定 ,
deploy key項   新增  直接 apache使用者 生成的 ssh key 

webhook 項 新增 網站地址/update.php (正常能夠訪問的連結)  , 勾選  Push events
儲存

完全以上配置 。伺服器端自動同步程式碼的功能就能夠實現了。

本文作者:l, jian 轉載請註明來自:攜程UED


相關推薦

通過gitlab的webhook進行專案自動部署問題總結

在百度搜索了一下 git webhook 這個關鍵字,沒有看到有相關的詳細的應用教程。 所以決定把 自己這段時間以來的摸索 寫成文字 分享給大家 。 最近碰到這樣的一個需求,就是 本地提交程式碼 到 git倉庫以後 需要 網站 遠端自動同步程式碼 。 git 的 webhook  正好能 滿足 這個

jenkins 將 android 專案自動部署到linux伺服器上

     最近幾天搞了下使用jenkins自動部署到公司linux 伺服器上的功能,趁著還沒忘完,寫個部落格記錄下      自動化永遠是技術發展不懈追求方向,不規範的東西標準化,標準化的東西自動化。這樣才能解放人力,將時間投入到其它的

springboot通過devtools實現專案部署

首先devtools是什麼? devtools:是boot的一個熱部署工具,當我們修改了classpath下的檔案(包括類檔案、屬性檔案、頁面等)時,會重新啟動應用(由於其採用的雙類載入器機制,這個啟動會非常快,如果發現這個啟動比較慢,可以選擇使用jrebel) 其次如何在專案中使用devt

Eclipse下Tomcat專案自動部署路徑問題(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)

   配置eclipse的開發環境,配置jdk的安裝路徑和tomcat安裝路徑。在eclipse下建立Dynamic Web Project工程zhgy,在使用eclipse中new一個tomcat,通過啟動該tomcat來發布Dynamic Web Project的時候,其

使用 Webhooks 將 Linux 伺服器上的專案自動部署到 GitHub

我們的專案一般都會託管在類似 Github 和 Coding 之類的平臺上,當專案部署在伺服器上之後,如果發現需要更改一處地方,需要在本地更改之後提交到 Github,然後再登入伺服器拉取 Github 上的程式碼,可以說操作非常麻煩了,我們可以使用 Github 上的 Webhooks 實現本地提交之後伺服

jenkins從遠端地址拉取專案自動部署到指定遠端伺服器

2017年11月02日 15:05:28 閱讀數:7620更多 轉載自:http://blog.csdn.net/xbynet/article/details/52779314 基本 版本JenKins:2.19.1, Maven:3.1 環境要求:

Maven專案配置tomcat8外掛實現專案自動部署到遠端linux伺服器

1.tomcat配置在tomcat目錄中的conf目錄下找到tomcat-users.xml配置檔案,然後搜尋tomcat-users,進行tomcat使用者的角色和許可權配置,如下:<tomcat-users> <role rolename="ma

jenkins實現專案自動部署

背景 之前給公司搭建過一套gitlab+gerrit+jenkins的持續整合環境,由於操作起來有點繁瑣,自己也沒太搞清楚該怎麼用,所以一直就只用了gitlab來做程式碼管理。最近要做一個專案自動部署的功能,使用過jenkins一定知道他的自動化功能

Maven專案自動部署到tomcat

        (1) cd到專案的目錄         (2) mvn clean install         (3) mvn tomcat:redeploy 通過以上操作就可以通過maven把專案自動部署到tomcat了 遺留問題:我這裡使用的是apache-tomcat-6.0.10,如果換成最

專案放到碼雲上,通過git 進行專案管理

1.在碼雲上新建一個專案 把使用 Readme檔案初始化這個專案這個勾選去掉 專案生成後會看到 碼雲的git 簡易的命令列入門教程: Git 全域性設定: git config --glob

linux下構建svn伺服器並實現專案自動部署

在Linux系統中搭建svn服務所需要用到的軟體叫做subversion,可以通過yum來進行安裝. svn服務是為了實現協同工作,即一個團隊公眾開發一個專案而不導致程式碼混亂,不會出現今天我修改的程式碼在不通知同事的情況下又被他修改了.

Eclipse中的Web專案自動部署到Tomcat

一、原因、 1、寫java程式有一段時間了,但很久沒用eclipse了,所以使用eclipse編寫的web專案部署到tomcat 的方式也不是很清楚,下面記錄一下將Eclipse 上的web專案自動部署到tomcat 上的方式; 二、部署問題 1、這裡就有個問題,是怎麼把

將Eclipse專案自動部署到Tomcat的webapps目錄下

首先將eclipse內的Tomcat伺服器停止。 把sever裡面現有的專案刪掉 在servers下面選擇Tomcat伺服器。右鍵點選後選擇Open,出現如下提示 修改Server Locations(預設是選擇的第一個。如果沒有進行1,2步操

[工具設定]把專案放到碼雲上,通過git 進行專案管理

1.在碼雲上新建一個專案 把使用 Readme檔案初始化這個專案這個勾選去掉  專案生成後會看到 碼雲的git 簡易的命令列入門教程: Git 全域性設定: git config --global user.name "你的碼雲賬號" git config -

Eclipse中的Web專案自動部署到Tomcat以及如何在Eclipse中使用My Eclipse工程

我是一個新手學習Java,servlet和Jsp. 痛苦的是我時候一個.net程式設計師,習慣了微軟的VS IDE一切都是封裝好的.傻瓜式的使用, 不需要關心內部實現. 悲催的是我看到資料都是My Eclipse, 但我下載使用的環境是Eclipse.這就有兩個問題要解決.

SpringBoot專案如何通過Jrebel進行部署

  版權宣告:本文為博主原創文章,如需轉載,請標明原文出處。寫部落格為總結,提升,便於以後查閱。其中肯定有知識陳訴錯誤或表述不當之處,如您發現,還望指正,萬分感謝! https://blog.csdn.net/xiayiguo/article/details/79328705 前置

使用jenkins進行專案自動構建部署

點選左側邊欄的“新建”按鈕,新建一個任務。填寫專案的名稱,並選擇一種構建的方式,此時我們選擇第一個,構建一個自由風格的軟體專案,然後點選“OK”按鈕建立任務,並進行詳細的配置新建任務預設設定裡填寫專案名和描述,並選擇之前配置好的要連線的gitlab預設配置配置原始碼,填寫要構建專案的原始碼倉庫地址,並指定要構

通過ssh主機互信打通內、外網,使用shell腳本自動部署測試環境

ssh 主機互信 scp 一、背景介紹 svnServer在內網環境,測試環境搭建在阿裏雲公網上,分為DBServer和WebServer。每次手動部署時都需要諸多步驟,開啟多個終端操作,可謂耗時又繁瑣,再加上新人經驗不足,部署過程時常出現問題。手動部署測試環境的步驟:服務器操作步驟

在企業級應用中我們如何通過Linux進行部署、替換、檢視日誌、殺死程序?

用過Linux的人都知道,Linux的命令是非常多的,其實我們並不不需要去全學個遍。掌握最常用的命令之後,學習不常用的命令也不會很難,我們要學的是一種方法而不是為了技術而學技術。 檢視埠 在Linux使用過程中,我們需要了解當前系統開放了哪些埠,並且要檢視開放這些埠的具體程序和使用者,可

Jenkins構建本地專案到伺服器上自動部署的方法

最近在用Jenkins做專案的自動部署,由於專案需求,現在要在本地構建後再放到Tomcat裡。以下是本地構建步驟: 名稱填寫好,下面的選項是可選的。 原始碼管理這裡選擇none。 觸發器這裡,我的是在凌晨3點強制構建。可選。 這裡是最重要的一