自动化部署之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

 

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