持续集成Jenkins之一些设定
坑1
在job的工作空间页面时,不要点[清除工作空间]按钮,一定不要轻易点这个按钮。因为它会清空设置的这个工作目录下的所有文件,血的教训,不要问我怎么知道的,我的脚本啊5555
坑2
jenkins上[执行Winsows批处理命令]时,如果是在虚拟环境上执行python脚本,光用workon project_name是不好用的,应该用call workon project_name
Jenkins自动构建环境配置
本机上查看私钥和公钥。git bash中通过cd ~/.ssh > ls 可以查看文件list,其中存放了ssh的公钥文件和私钥文件。
id_rsa: 私钥 (添加到jenkins上)
id_rsa.pub:公钥 (添加到git上)
详细设置可参照:https://www.jianshu.com/p/22cc65462e8b
注意:jenkins是在linux上运行的,windows上git代码push的触发jenkins执行,jenkins》job的Source Code Management/Git时只能用ssh形式配置,
不能用https形式。
此处称作RSA非对称加密https://www.jianshu.com/p/d56a72013392
关于添加SSH密钥
linux上初次git clone时,如果没有创建ssh密钥,会报P而mission Denied Fatal the remote End Hung Up Unexpectedly问题。
解决方案参照如下设定即可。
http://www.aobosir.com/blog/2016/12/25/git-add-ssh-key-solution-permission-denied-publickey-fatal/
小坑坑
生成密钥时,虽然如上内容会提示可以输入密码,but不要输入密码!不要输入密码!不要输入密码!直接按回车即可。
否则后面jenkins上job里Source Code Management>Git选择Credentials时会报错的
基础
Poll SCM设置
采用的是cron表达式。https://www.cnblogs.com/junrong624/p/4239517.html
git push代码时自动触发jenkins执行
文件的权限
django项目移行到linux之后,jenkins上bulid now一直执行不过,控制台输出一直报permission denied。
所以用ls -l 逐层排查权限,并赋予相应的权限
git上设定更改
随着django服务和jenkins服务放到linux上,git上的webhook设定也需要更改,settings>hooks>webhooks地址应改为linux的host地址



浙公网安备 33010602011771号