廖大使用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

在制定位置复制密码填入页面后继续,选择了gitgithub插件。

安装完成,在新建任务之前,需要把项目放到git上去。

发布git

使用git bash上传代码到Github并忽略文件

提交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项目的更多相关文章

  1. Jenkins部署Python项目实战

    一.背景 我们工作中常用Jenkins部署Java代码,因其灵活的插件特性,例如jdk,maven,ant等使得java项目编译后上线部署一气呵成,同样对于脚本语言类型如Python上线部署,利用Je ...

  2. jenkins部署web项目到webogic

    注: Docker容器里安装的jenkins,Docker容易里安装的weblogic 在jenkins里面直接将打包好的 war 包通过 Publish over SSH插件 放入 weblogic ...

  3. jenkins部署java项目,脚本文件放在远程仓库中 和jar一起打包(六)

    jenkins部署java项目到远程linux上,脚本文件和项目一起上传到gogs上,直接执行gogs上的脚本文件来执行项目 (1)新建maven项目 pom.xml的配置 <project x ...

  4. Jenkins部署Web项目到远程tomcat(通过jenkins插件)

    之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...

  5. Docker如何部署Python项目

    Docker 部署Python项目 作者:白宁超 2019年5月24日09:09:00 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如 ...

  6. 笔记14:Docker 部署Python项目

    Docker 部署Python项目 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取 ...

  7. 【Jenkins】jenkins构建python项目提示:'python' 不是内部或外部命令,也不是可运行的程序或批处理文件

    一.问题:jenkins构建python项目提示:'python' 不是内部或外部命令,也不是可运行的程序或批处理文件 二.原因:要在jenkins配置本地环境变量 三.解决方案:添加python.e ...

  8. Docker使用jenkins部署java项目到远程linux(三)

    实现功能:从本地提交代码到gogs上,本地的代码会被检测一遍 如果检测通过才能commit成功 然后可以继续执行push命令 .push后在gogs上使用web钩子自动推送到jenkins触发构建,j ...

  9. Jenkins构建Python项目提示:'python' 不是内部或外部命令,也不是可运行的程序

    问题描述: jenkin集成python项目,立即构建后,发现未执行成功,查看Console Output 提示:'Python' 不是内部或外部命令,也不是可运行的程序,如下图: 1.在 Windo ...

随机推荐

  1. 面试题--Java

    &与&&区别? &与&&都是逻辑运算符,都是判断两边为真则为真,两边为假则为假,但是&&如果第一个条件不成立的话,后面的将不会再继续执行 ...

  2. SpringApplication执行流程

    SpringApplication类的直接作用是在main方法中通过自有的run方法启动spring应用. 具体的run方法为: public static ConfigurableApplicati ...

  3. 四:(之七_如何与运行中容器交互)Dockerfile语法梳理和实践

    1.指定网络连接方式:--net=””   (bridge/host/none/container: 四种类型) 注:192.168.33.18 此IP是在vagrantfile中指定的虚拟机IP:c ...

  4. flask中如何生成迁移文件

    在flask网站开发中,如果直接对数据库进行修改的话,风险比较高,最好的是由迁移文件生成,这样确保了数据的误操作. 在Flask中可以使用Flask-Migrate扩展,来实现数据迁移.并且集成到Fl ...

  5. Markdown最常用的几个语法

    更多语法请参考:Markdown语法说明 http://wowubuntu.com/markdown/

  6. Tomcat下载和安装

    一.Tomcat下载和安装 Tomcat 是一个免费的开放源代码的 Servlet 容器,它是 Apache 软件基金会的一个顶级项目,由 Apache,Sun和其他一些公司及个人共同开发而成.由于有 ...

  7. VSCode 常用的快捷键

    R键:点击后热加载,直接查看预览结果 P键: 在虚拟机中显示网格,常用 O 键:切换iOS 和Android Q键 :退出调试 ctr +~  打开 终端

  8. #电脑磁盘分区#新买的电脑一般只有C盘或者C盘和D盘,怎么加多几个盘呢

    新买的电脑一般只有C盘或者C盘和D盘,怎么加多几个盘呢 鼠标右键点击桌面我的电脑选择管理 进入计算机管理.选择磁盘管理 若桌面没有我的电脑,可按win+x键,在快捷菜单栏中点击磁盘管理 通过以上两种w ...

  9. 常见模块(一) time/datetime

    1 time模块 1)时间三种格式的转化 2)time模块的相关方法 time.time()  打印当前时间的时间戳 单位是秒 距离1970年1月1日到当前的时间差 time.sleep(n)     ...

  10. MySQL5.7.32 通用版本安装

    1 上传镜像,配置好yum源 2 下载MySQL相关的包 https://dev.mysql.com/downloads/mysql/ 3  解压安装: tar -zxvf mysql-5.7.23- ...