使用git+jenkins實現持續集成
構建一個自由風格的php-deploy
Gernal配置,丟棄舊的構建,防止jenkins構建較多之後變臃腫
源碼管理:這裏使用git插件,也可以使用svn插件
將git路徑存在這裏還需要權限認證,否則會出現error 。
jenkins服務器上生成SSH-Key
然後保存,立即構建一次,會拉取master的代碼庫
點開可以看到控制檯的輸出,如圖:
這裏我們拉取的代碼需要推送到遠程代碼目錄,需要如下操作:
架設linux-node1爲web服務,目錄爲/data/www/php-deploy
修改項目設置,配置構建:Execute shell,相當於將代碼自動發佈到linux-node1的代碼目錄中。
接下來,我們重新構建一次,並查看控制檯輸出:
注意
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