使用Jenkins部署Python项目
廖大使用Fabric部署的。我使用Jenkins试试部署过程。虽然说是用python项目部署测试的,但其他项目也是同理的。
参考Jenkins+Python部署完整版,不过安装方式不同。
安装tomcat
yum install tomcat
安装jenkins
上面rpm源失效了,找一个
http://pkg.jenkins-ci.org/redhat/
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://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插件。
安装完成,在新建任务之前,需要把项目放到git上去。
发布git
提交log空文件夹,忽略下面所有文件:Git 忽略文件夹下的文件,但是保留空文件夹
# 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用户运行jenkins中shell命令 都是修改jenkins为root用户组或者直接用root去执行了。因为我只一个项目,只修改了文件夹用户权限为jenkinschown -R jenkins:root /xxx/web即可。重启服务service jenkins restart后再次构建,成功!
最后在配置加计划任务SCM H/5 * * * *五分钟一次,测试成功,可看Git 轮询日志看上次何时轮询,日志可看构建历史。
使用Jenkins部署Python项目的更多相关文章
- Jenkins部署Python项目实战
一.背景 我们工作中常用Jenkins部署Java代码,因其灵活的插件特性,例如jdk,maven,ant等使得java项目编译后上线部署一气呵成,同样对于脚本语言类型如Python上线部署,利用Je ...
- jenkins部署web项目到webogic
注: Docker容器里安装的jenkins,Docker容易里安装的weblogic 在jenkins里面直接将打包好的 war 包通过 Publish over SSH插件 放入 weblogic ...
- jenkins部署java项目,脚本文件放在远程仓库中 和jar一起打包(六)
jenkins部署java项目到远程linux上,脚本文件和项目一起上传到gogs上,直接执行gogs上的脚本文件来执行项目 (1)新建maven项目 pom.xml的配置 <project x ...
- Jenkins部署Web项目到远程tomcat(通过jenkins插件)
之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...
- Docker如何部署Python项目
Docker 部署Python项目 作者:白宁超 2019年5月24日09:09:00 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如 ...
- 笔记14:Docker 部署Python项目
Docker 部署Python项目 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取 ...
- 【Jenkins】jenkins构建python项目提示:'python' 不是内部或外部命令,也不是可运行的程序或批处理文件
一.问题:jenkins构建python项目提示:'python' 不是内部或外部命令,也不是可运行的程序或批处理文件 二.原因:要在jenkins配置本地环境变量 三.解决方案:添加python.e ...
- Docker使用jenkins部署java项目到远程linux(三)
实现功能:从本地提交代码到gogs上,本地的代码会被检测一遍 如果检测通过才能commit成功 然后可以继续执行push命令 .push后在gogs上使用web钩子自动推送到jenkins触发构建,j ...
- Jenkins构建Python项目提示:'python' 不是内部或外部命令,也不是可运行的程序
问题描述: jenkin集成python项目,立即构建后,发现未执行成功,查看Console Output 提示:'Python' 不是内部或外部命令,也不是可运行的程序,如下图: 1.在 Windo ...
随机推荐
- LINUX 录制屏幕制作gif动态图工具peek
sudo add-apt-repository ppa:peek-developers/stable sudo apt update sudo apt install peek linux 压缩工具改 ...
- git一些有用的命令
更改本地和远程分支的名称 git branch -m old_branch new_branch # Rename branch locally 本地分支改名 git push origin :old ...
- IDE Fix Pack 6.4.2 released (bugfix release)
IDE Fix Pack 6.4.2 addresses two bugs. It fixes an issue with the TCustomListBox.ResetContent patch ...
- 利用htmlparser读取html文档的内容
1.添加相关的的jar htmlparser-2.1.jar 2.方法和代码 public static String readHtml(File html) { String htmlPath = ...
- 51单片机小项目电路TwoLed电路图
1.复位电路没有开关,不可控 在电容旁边并联一个开关和10k的电阻支路 2.晶振电路引用的外部晶振, 理论上XTAL2悬空,XTAL1接外部震荡信号 //ProjeceName:TwoLed //wr ...
- 关于Error during managed flush [Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1]错误
控制台报错: 08:07:09.293 [http-bio-8080-exec-2] ERROR org.hibernate.internal.SessionImpl - HHH000346: Err ...
- Python多进程并发操作中进程池Pool的应用
Pool类 在使用Python进行系统管理时,特别是同时操作多个文件目录或者远程控制多台主机,并行操作可以节约大量的时间.如果操作的对象数目不大时,还可以直接使用Process类动态的生成多个进程,十 ...
- Flink实战(1) - Apache Flink安装和示例程序的执行
在Windows上安装 从官方网站下载需要的二进制包 比如我下载的是flink-1.2.0-bin-hadoop2-scala_2.10.tgz,解压后进入bin目录 可以执行bat文件,也可以使用c ...
- while RE Validation
一.简介 为什么需要正则表达式? 文本的复杂处理 正则表达式的优势和用途? 一种强大而灵活的文本处理工具: 大部分编程语言.数据库.文本编辑器.开发环境都支持正则表达式. 正则表达式定义: 正如它的名 ...
- centos 7 下 nginx 1.10.3 编译安装的方法
安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装安装 nginx 需要先 ...