天天看點

使用Jenkins實作php自動釋出

環境準備:

MySQL

Gitlab (代碼托管平台,存放php的代碼)

web伺服器(Apache+php)

Jenkins

MySQL安裝

使用Docker部署Mysql5.6

docker run –d –p 3306:3306

-e MYSQL_ROOT_PASSWORD=“123”

-e MSYQL_DATABASE=“wordpress”

-e MYSQL_USER=“tom”

-e MYSQL_PASSWORD=“123456” 10.30.36.108:5000/mysql:5.6

部署gitlab

docker run d -p 8081:80 10.30.34.112/docker/gitlab

設定初始密碼(root)

使用Jenkins實作php自動釋出

建立項目

使用Jenkins實作php自動釋出

上傳代碼到gitlab

在客戶機安裝git,并将開發好的代碼上傳的gitlab

1.克隆gitlab項目到本地

2. 導入wordpress源碼

3. 添加源碼到暫存區

4. 送出代碼到倉庫

5. 上傳代碼到gitlab

git常用指令

git init //初始化本地git環境

git clone XXX//克隆一份代碼到本地倉庫

git pull //把遠端庫的代碼更新到工作台

git add . //把本地的修改加到stage(暫存區)中

git commit -m ‘提示資訊’ //把stage中的修改送出到本地庫

git push //把本地庫的修改送出到遠端庫中

實戰php自動釋出-Jekins插件安裝

插件安裝

系統管理—管理插件—已安裝 檢查是否有“Git plugin”和“Publish Over SSH”兩個插件,如果沒有,則需點選“可選插件”,找到它并安裝 安裝好兩個插件後,點選“系統管理”– “系統設定”

實戰php自動釋出

SSH配置

系統管理—系統設定—Publish over SSH

在key内填寫jenkins伺服器的私鑰,如果沒有需要先在jenkins伺服器生成私鑰與公鑰。ssh-keygen -t rsa回車後會在登入使用者的家目錄下生成一個.ssh 的目錄,此目錄下存在id_rsa私鑰與id_rsa.pub公鑰。且講公鑰釋出至代碼釋出的目标伺服器上ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]。

實戰php自動釋出

SSH Server配置

name:需要将php程式釋出到目标伺服器的名稱,可自定義

Hostname:填寫目錄伺服器的IP位址

Username:使用那個使用者進行釋出,此處為進行密鑰互信的使用者

Remote Directory:此出為釋出到目标伺服器的相對根路徑,建議填寫/,防止後續填寫路徑異常。

使用Jenkins實作php自動釋出

實戰php自動釋出

建構項目

建立Item—填入項目名稱—選擇建構一個自由風格的軟體項目—确定

源碼管理選擇git Repository URL 填寫具體git上的倉庫url,

建構後夠操作 選擇(Send files or execute commands over SSH)

SSH Server選擇目标伺服器如:

php-server Source files:**/* #将git拉取下來的原始檔案

Remote directory:/var/www/html #釋出到目标伺服器的制定目錄

Exec command:chown apache:apache -R /var/www/html/* #制定後續的操作

使用Jenkins實作php自動釋出
使用Jenkins實作php自動釋出
使用Jenkins實作php自動釋出

建構

點選儲存,并立即建構,可以點選console output檢視日志

使用Jenkins實作php自動釋出
使用Jenkins實作php自動釋出
使用Jenkins實作php自動釋出