美文网首页
Jenkins发布django

Jenkins发布django

作者: aq_wzj | 来源:发表于2021-12-08 10:05 被阅读0次

1. 代码准备

在项目根目录下新建一个docker_env目录, 其下文件如下 https://gitee.com/wzj66/jenkins-test-code/tree/master/docker_env
在项目根目录下新建四个文件, 分别为Dockerfile, Jenkinsfile, requirements.txt, uwsgi.ini

1.1 Dockerfile内容

FROM ubuntu:18.04
# 支持中文
ENV LANG C.UTF-8

#创建项目文件夹, 设项目名为 project
RUN mkdir /project/
COPY . /project
RUN mkdir /root/.pip/
#时区配置
RUN mkdir -p /usr/share/zoneinfo/Asia
RUN cp /project/docker_env/Shanghai /usr/share/zoneinfo/Asia/Shanghai
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 换源
RUN cp /project/docker_env/sources.list /etc/apt/sources.list
RUN cp /project/docker_env/pip.conf /root/.pip/pip.conf
# 软件安装
RUN apt update
RUN apt install software-properties-common -y
RUN add-apt-repository ppa:deadsnakes/ppa -y
RUN apt update
RUN apt install python3.6 -y
RUN apt-get install python3-pip -y
RUN pip3 install --upgrade pip
RUN apt-get install build-essential python3.6-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev -y
# 安装pip模块
RUN pip3 install -r /project/requirements.txt
# 如果有celery,执行这一个, 没有注释
# RUN echo "nohup python3 /project/manage.py celery worker & >/dev/null 2>&1 &" >> /root/run.sh
RUN echo "uwsgi --ini  /project/uwsgi.ini" >> /root/run.sh
EXPOSE 8003
ENTRYPOINT  ["bash", "/root/run.sh"]

1.2 Jenkinsfile内容

设镜像名为image_name
设容器名为container_name

pipeline {
  agent any
  stages {
    stage('Build') {
      steps {
        sh 'docker build -t image_name .'
      }
    }

    stage('Deploy') {
      steps {
        sh '''if [ $(docker ps -aq --filter name=container_name) ];then docker rm -f container_name;fi
docker run \\
    --detach \\
    --publish 8003:8003 \\
    --publish 5553:5555 \\
    --name container_name \\
    image_name'''
      }
    }
  }
}

1.3 requirements.txt内容

Django==2.2.2
django-cors-headers==3.1.1
django-redis==4.10.0
djangorestframework==3.10.3
mysql-connector==2.2.9
PyJWT==1.7.1
PyMySQL==0.9.3
redis==2.10.6
requests==2.22.0
SQLAlchemy==1.2.11
SQLAlchemy-Utils==0.35.0
uWSGI==2.0.20
python-dateutil==2.8.1

1.4 uwsgi.ini内容

[uwsgi]
http  = 0.0.0.0:8003
chdir      = /project
module     = project.wsgi
master     = true
processes    = 4
vacuum     = false

2. Jenkins流水线

2.1 创建流水线

进入页面以后点击打开Blue Ocean

点击创建新的流水线

image.png

代码仓库选择git

输入仓库url, 用户名密码

点击创建证书, 创建流水线

image.png

创建完流水线之后会自动运行流水线


image.png

2.2 编辑脚本

如果想在Jenkins页面编辑流水线步骤(Jenkinsfile)
点击右上角编辑可以编辑流水线脚本

image.png image.png

编辑完流水线脚本也回自动运行一次流水线
编辑完脚本后会帮你提交一次代码, 本地的项目里面记得pull一下代码

2.3 完成

流水线运行完成则可以访问自己的django项目


image.png

相关文章

  • Jenkins发布django

    1. 代码准备 在项目根目录下新建一个docker_env目录, 其下文件如下 https://gitee.com...

  • 目录

    Django Python Jenkins InterfaceTest LoadRunner Android Ap...

  • jenkins

    目录 一、jenkins介绍二、jenkins安装三、了解jenkins四、发布php代码五、jenkins邮件配...

  • Jenkins + Pipeline 构建流水线发布

    Jenkins + Pipeline 构建流水线发布 利用Jenkins的Pipeline配置发布流水线 参考: ...

  • docker-compose收集

    jenkins+客户端 gitlab 负载均衡关联mysql django+rabbitmq+redis+mysq...

  • day41Django

    一、 DJANGO使用指南 Django简介: Django官网地址 Django发布于2005年7月,是当前Py...

  • Jenkins 中 docker-compose command

    在使用 Jenkins 部署 Django 应用时,尝试使用 docker-compose 直接构建,但是 Jen...

  • k8s-基于k8s构建Jenkins CI/CD平台

    发布流程设计 在Kubernetes平台部署Jenkins 构建slave镜像 Jenkins Master/Sl...

  • 最浅显易懂的Django系列教程(3)-Django介绍

    Django介绍: Django,发音为[`dʒæŋɡəʊ],Django诞生于2003年秋天,2005年发布正式...

  • Django1

    1. DJANGO使用指南 Django简介: Django官网地址 Django发布于2005年7月,是当前Py...

网友评论

      本文标题:Jenkins发布django

      本文链接:https://www.haomeiwen.com/subject/snozxrtx.html