自动化部署之jenkins发布PHP项目
使用git+jenkins实现持续集成构建一个自由风格的php-deployGernal配置,丢弃旧的构建,防止jenkins构建较多之后变臃肿源码管理:这里使用git插件,也可以使用svn插件将git路径存在这里还需要权限认证,否则会出现error 。jenkins服务器上生成SSH-Key然后保存,立即构建一次,会拉取master的代码库点开可...
使用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
更多推荐
所有评论(0)