環境準備:
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)
建立項目
上傳代碼到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:此出為釋出到目标伺服器的相對根路徑,建議填寫/,防止後續填寫路徑異常。
實戰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/* #制定後續的操作
建構
點選儲存,并立即建構,可以點選console output檢視日志