jekins 实现Django项目的自动部署(ubuntu16.04,python2.7,django1.11)
1.依赖的插件
如果插件下载失败 更换源 http://mirror.xmission.com/jenkins/updates/current/update-center.json
因为我们只需要构建python项目 所以我们这边只需要3个插件 git plugin
python
pipeline
2.创建项目
选择自由风格的项目,名字叫做master-build
点击确定,进入配置页面
添加git的地址
点击上图的add,添加秘钥
勾选private key,然后输入Jenkins服务器的私钥
注:秘钥生成方法
ssh-keygen -t rsa -C "jimzhou@qq.com"
生成公钥和私钥
cat ~/.ssh/id_rsa.pub 发送给码云
cat ~/.ssh/id_rsa 写入到jenkins
点击添加,接着开始配置执行指令,
hello.py的内容是
print("hello world!!!")
把该文件放在Jenkins的工作空间目录下
点击apply按钮应用一下,再点击保存
然后构建一下,
构建成功后,把构建命令换成对应的Django启动命令
如:
cd 项目文件
BUILD_ID=DONTKILLME nohup python manage.py runserver 0.0.0.0:8000 &
注意:构建执行的命令默认是在Jenkins工作空间目录中执行的,比如你创建了一个Jenkins项目名字叫做test,那么你的命令执行时,就会默认为当前目录是/usr/share/tomcat7/.jenkins/workspace/test,该目录下的文件就是从远程的git服务器上
git clone下来的,而你要做的就是cd进入该目录下的项目中,
启动manage.py
二.构建触发器
当测试环境编译通过,我们需要把最新的代码移到生产环境
首先我们新建一个项目,叫做master-deploy
然后只需要改动两个地方
第一个:
第二个地方:
当master-build构建成功后,将会自动触发master-deploy
jekins 实现Django项目的自动部署(ubuntu16.04,python2.7,django1.11)的更多相关文章
- jenkins+supervisor实现django项目的自动部署(ubuntu)
没有安装supervisor的话首先安装supervisor, apt install upservisor 安装supervisor大概率会出现问题,不推荐,最好是用pip 安装, 注意python ...
- Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统
Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统 这个是写好的Django程序在本地机运行的情况,一个查询接口. 准备工作 1.首先购买一台阿里云的EC ...
- django项目上线环境部署
django项目上线环境部署 第一步 安装python虚拟环境 1 安装虚拟环境virtualenv 2 安装virtualenvwrapper工具 3 确认virtualenvwrapper.sh脚 ...
- 5分钟快速掌握Jenkins,项目一键自动部署
5分钟快速掌握Jenkins,项目一键自动部署 目录 前言 Jenkins是什么? Jenkins环境安装搭建 Jenkins基本使用介绍 Jenkins快速构建项目,项目自动化部署 学习总结 前言 ...
- 使用Ansible进行项目的自动部署(Tomcat、Weblogic)
原文:https://github.com/x113773/testall/issues/4 问题:Weblogic/Tomcat 通过JAVA直接远程调用或者调用本地Shell还是通过Ansible ...
- Jenkins 集成Maven打包SpringBoot项目并自动部署到Tomcat服务器
提前条件: 1.在Jenkins服务器上安装Git.JDK和Maven 2.准备另一台服务器并安装Tomcat 3.Gitlab服务器 4.Gitlab仓库中上传SpringBoot项目代码 第一步, ...
- Ubuntu16.04 python2.7升级python3.5
正常情况下,你安装好ubuntu16.04版本之后,系统会自带 python2.7版本,如果需要下载新版本的python3.5,就需要进行更新.下面给出具体教程: 1.首先在ubuntu的终端tern ...
- django 项目开发及部署遇到的坑
1.django 连接oracle数据库遇到的坑 需求:通过plsql建立的oracle数据表,想要django操作这几个表 python manage.py inspectdb table_name ...
- 用Git的hooks实现项目的自动部署
https://segmentfault.com/a/1190000003836345?_ea=386770 http://blog.csdn.net/wsyw126/article/details/ ...
随机推荐
- PAT 1034 Head of a Gang[难][dfs]
1034 Head of a Gang (30)(30 分) One way that the police finds the head of a gang is to check people's ...
- container / pull-left
<div class="container"> <h2>实例</h2> <div class="pull-left"& ...
- [LeetCode] 183. Customers Who Never Order_Easy tag: SQL
Suppose that a website contains two tables, the Customers table and the Orders table. Write a SQL qu ...
- 不要提交代码到HEAD上
昨天为了修改代码,所以checkout 当时打包的分支,然后定位修改,但是发现自动切换为HEAD分支,没有在意,发现提交后,代码消失了. 然后怎么找也找不到了.什么git branch , git l ...
- 机器学习理论基础学习3.4--- Linear classification 线性分类之Gaussian Discriminant Analysis高斯判别模型
一.什么是高斯判别模型? 二.怎么求解参数?
- 【转】webpack中关于source map的配置
Webpack中sourcemap的配置 sourcemap是为了解决开发代码与实际运行代码不一致时帮助我们debug到原始开发代码的技术.尤其是如今前端开发中大部分的代码都经过编译,打包等工程化转换 ...
- Linux系统——LNMP分离式部署
#### 安装nginx ```[root@localhost ~]# tar xf nginx-1.10.2.tar.gz -C /usr/src/[root@localhost ~]# cd /u ...
- React组件,React和生命周期
笔记,具体可以看看这个博客: https://segmentfault.com/a/1190000004168886?utm_source=tag-newest react 的jsx document ...
- java常用功能
1.复制文件 private void fileChannelCopy(File source, File target) throws IOException { FileInputStream f ...
- VS2010/MFC编程入门之三十六(工具栏:工具栏资源及CToolBar类)
上一节中鸡啄米讲了菜单及CMenu类的使用,这一节讲与菜单有密切联系的工具栏. 工具栏简介 工具栏一般位于主框架窗口的上部,菜单栏的下方,由一些带图片的按钮组成.当用户用鼠标单击工具栏上某个按钮时,程 ...