使⽤Jenkins部署Python项⽬
廖⼤的。我使⽤Jenkins试试部署过程。虽然说是⽤python项⽬部署测试的,但其他项⽬也是同理的。
参考,不过安装⽅式不同。
安装tomcat
yum install tomcat
安装jenkins
上⾯rpm源失效了,⼀个
sudo wget -O /pos.po pkg.jenkins.io/po
sudo rpm --import pkg.jenkins.io/redhat/jenkins.io.key
yum install jenkins
启动jenkins
/
etc/init.d/jenkins start
启动后访问,IP:8080⽆反应,⽤ netstat -tnlp | grep 8080可看到java服务是成功启动的。设置安全组端⼝后,可以访问。
初始化Jenkins
在制定位置复制密码填⼊页⾯后继续,选择了git和github插件。
python新建项目教程安装完成,在新建任务之前,需要把项⽬放到git上去。
发布git
提交log空⽂件夹,忽略下⾯所有⽂件:
# ignore all except .gitignore file
*
!.gitignore
继续上路...
配置Jenkins
参考⽂章中的下载插件和更新跳过。直接配置,填写私钥等。
保存后构建:
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
... ...
ERROR: Error cloning remote repo 'origin'
是因为配置了GIT,在最前⾯还勾选并填了github项⽬地址,去掉构建Ok.
构建
等等,好像哪⾥不对。构建的位置去哪了,我的服务器⽬录就没填啊。构建地址呢?
Started by user xxxx
Building in workspace /var/lib/jenkins/workspace/python博客
> git rev-parse --is-inside-work-tree # timeout=10
使⽤的默认⽬录。
搜索了⼀下Jenkins 构建⽬标地址之类的竟然没搜到想要的结果。!!
Bulid下添加执⾏Shell,移动⽂件
\cp -rf $WORKSPACE/$JOB_NAME/*  /xxx/web/
$WORKSPACE/$JOB_NAME 是⼯作⽬录和项⽬名
+ cp -rf '/var/lib/jenkins/workspace/pythonBlog/pythonBlog/*' /xxx/web/
cp: cannot stat ‘/var/lib/jenkins/workspace/pythonBlog/pythonBlog/*’: No such file or directory
Build step 'Execute shell' marked build as failure
看来不需要项⽬名,⽬录$WORKSPACE就直接是项⽬所在路径没错。
之后⼀直报权限错误 Permission denied, 执⾏脚本⽆权限。
cp: cannot remove ‘/xxx/web/log/.gitignore’: Permission denied
cp: cannot create regular file ‘/xxx/web/README.md’: Permission denied
cp: cannot remove ‘/xxx/web/www/pymonitor.py’: Permission denied
cp: cannot remove ‘/xxx/web/www/db/table.sql’: Permission denied
cp: cannot remove ‘/xxx/web/www/webFrame.py’: Permission denied
......
⽹上有⼀些解决办法、都是修改jenkins为root⽤户组或者直接⽤root去执⾏了。因为我只⼀个项⽬,只修改了⽂件夹⽤户权限为jenkinschown -R jenkins:root /xxx/web即可。重启服务service jenkins restart后再次构建,成功!
最后在配置加计划任务SCM H/5 * * * *五分钟⼀次,测试成功,可看Git 轮询⽇志看上次何时轮询,⽇
志可看构建历史。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。