自動化部署之jenkins發佈PHP項目

使用git+jenkins實現持續集成
自動化部署之jenkins發佈PHP項目
構建一個自由風格的php-deploy
自動化部署之jenkins發佈PHP項目
Gernal配置,丟棄舊的構建,防止jenkins構建較多之後變臃腫
自動化部署之jenkins發佈PHP項目
源碼管理:這裏使用git插件,也可以使用svn插件
自動化部署之jenkins發佈PHP項目
將git路徑存在這裏還需要權限認證,否則會出現error 。
jenkins服務器上生成SSH-Key


 

自動化部署之jenkins發佈PHP項目

自動化部署之jenkins發佈PHP項目


 

自動化部署之jenkins發佈PHP項目

然後保存,立即構建一次,會拉取master的代碼庫
自動化部署之jenkins發佈PHP項目

點開自動化部署之jenkins發佈PHP項目可以看到控制檯的輸出,如圖:
自動化部署之jenkins發佈PHP項目


 

這裏我們拉取的代碼需要推送到遠程代碼目錄,需要如下操作:
架設linux-node1爲web服務,目錄爲/data/www/php-deploy


 

修改項目設置,配置構建:Execute shell,相當於將代碼自動發佈到linux-node1的代碼目錄中。
自動化部署之jenkins發佈PHP項目

接下來,我們重新構建一次,並查看控制檯輸出:
自動化部署之jenkins發佈PHP項目


 

注意

rsync -raz --delete --progress 這樣寫

 

jenkins 中使用 rsync 命令 是出現一些錯誤輸出

Host key verification failed.

rsync: connection unexpectedly closed (0 bytes received so far) [sender]

 

和其他

Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]

 

在 /etc/passwd中 修改 jenkins 爲 /bin/bash

jenkins:x:494:494:Jenkins Automation Server:/var/lib/jenkins:/bin/bash

 

在客戶端 

/etc/ssh/ssh_config 中修改

StrictHostKeyChecking no   (去掉註釋)

 

在 jenkins 服務器切換到 jenkins賬戶  su - jenkins

創建密鑰

 ssh-keygen

Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.
Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.

將公鑰內容 id_rsa.pub 拷貝到客戶端 /root/.ssh/authorized_keys 文件內 

執行輸出 結果爲  success 

 

 

剩下的問題參考我下一篇文章

關鍵的幾個插件一定要有

  • Gitlab Hook Plugin
  • GitLab Plugin
  • Publish Over SSH

 

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