DevOps(十)Jenkins实战之发布Django开发Web应用

面学习了Jenkins,Gitlab,Git,Selenium等等DevOps有关的工具。今天我们使用一个完整的Web应用发布流程来讲解怎么样将这些工具怎么配合使用。下面是这个流程的简单介绍:首先我们用Django开发一个简单的Web应用,然后发布到Gitlab代码仓库当中,然后通过Jenkins的流水线,将代码拉取到服务器上,布署在服务器上。 要完成上面的任务我们需要遵循以下步骤:

步骤 1: 安装Django

确保你已经安装了Python。然后使用pip安装Django:

复制代码
pip install django

步骤 2: 创建Django项目

在你选择的目录下,运行以下命令创建一个新的Django项目。这里我们将项目命名为helloworld

复制代码
django-admin startproject helloworld

进入项目目录:

复制代码
cd helloworld

步骤 3: 创建Django应用

在项目目录下,创建一个名为hello的Django应用:

复制代码
python manage.py startapp hello

步骤 4: 设置视图

hello应用目录的views.py文件中,添加如下代码来创建一个简单的视图:

复制代码
from django.http import HttpResponse

def hello_world(request):
    return HttpResponse("Hello, World!")

步骤 5: 配置URLs

首先,在hello应用目录中创建一个urls.py文件:

复制代码
from django.urls import path
from .views import hello_world

urlpatterns = [
    path('', hello_world),
]

然后,需要将这个应用的URLs包含到项目的主URL配置中。打开helloworld/urls.py文件,修改为以下内容:

复制代码
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/', include('hello.urls')),  # 添加这一行
]

步骤 6: 运行开发服务器

确保一切设置正确,然后启动Django开发服务器:

复制代码
python manage.py runserver

在浏览器中访问 http://localhost:8000/hello/,你应该看到显示"Hello, World!"的页面。

步骤 7: 初始化Git仓库

在项目根目录下,初始化一个Git仓库:

复制代码
git init

添加一个.gitignore文件(可以从这里获取标准的Python .gitignore内容),然后提交你的更改:

复制代码
echo "*.pyc" >> .gitignore
echo "__pycache__/" >> .gitignore
echo "db.sqlite3" >> .gitignore
git add .
git commit -m "Initial commit with Hello World"

步骤 8: 提交到GitLab

  1. 在GitLab上创建一个新的仓库(不勾选 "Initialize repository with a README")。

  2. 按照GitLab提供的指令将代码推送到新仓库,通常是这样:

    复制代码
    git remote add origin <你的GitLab仓库URL>
    git branch -M main
    git push -u origin main

替换<你的GitLab仓库URL>为你的实际GitLab仓库URL。

完成以上步骤后,你的Django "Hello World" 应用就会存储在GitLab上了。

接下来我们在Jenkins上配置一个流水线任务,从GitLab拉取代码,发布到服务器上,并使用Selenium进行测试。

步骤 9: 设置Jenkins环境

9.1 安装Jenkins

确保Jenkins已安装并运行在服务器上。如果还没有安装,可以从Jenkins官网下载并根据你的操作系统进行安装。具体可以参考我前面的博文《DevOps(四)在Ubuntu20.04和CentOS7安装Jenkins

9.2 安装必要的插件

登录到Jenkins,进入"Manage Jenkins" > "Manage Plugins"。安装以下插件:

  • Git plugin
  • Pipeline
  • SSH Agent Plugin(如果需要通过SSH部署)

重启Jenkins以应用安装的插件。

步骤 10: 配置GitLab与Jenkins

10.1 在Jenkins中配置GitLab凭证
  1. 在Jenkins中,进入"Manage Jenkins" > "Manage Credentials"。
  2. 在相应的域下,添加新凭证。
  3. 选择"Username with password",输入你在GitLab生成的帐号和密码,记得ID要取唯一值,并且要记住,后面的Jenkins流水线中需要使用。

步骤 11: 创建Jenkins流水线

11.1 创建新的流水线任务
  • 在Jenkins主页,点击"New Item"。
  • 输入项目名,选择"Pipeline"然后点击"OK"。
11.2 编写Jenkinsfile

在你的项目根目录中创建一个名为Jenkinsfile的文件,其中包括以下内容:

复制代码
pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                git branch: 'main', credentialsId: 'sean', url: 'http://gitlab.povison-pro.com/Sean/helloworld.git'
            }
        }
        stage('Build') {
            steps {
                sh 'python manage.py runserver 0.0.0.0:8000'
            }
        }
       
    }
}

注意, git branch: 'main', credentialsId: 'sean', url: 'http://gitlab.povison-pro.com/Sean/helloworld.git' 这一句的参数,要记住。 git branch 这个参数后面跟的是分支名。credentialsId 这个参数后面跟的是我们上面配的那个连接gitlab用户名密码的ID,url这个参数后面跟的是项目的git地址,大家根据自己环境的情况来替换。

步骤 5: 运行并监控流水线

以上步骤为你提供了一个基本的框架,用于从GitLab拉取代码,通过Jenkins自动构建和测试,最后部署到服务器的流程。我们在客户端浏览器上通过访问http://192.168.110.170:8000/hello,就能看到布署在服务器上的django应用返回的结果了。

相关推荐
XMAIPC_Robot11 小时前
基于RK3588 ARM+FPGA的电火花数控硬件平台总体设计(二)
运维·arm开发·人工智能·fpga开发·边缘计算
Are_You_Okkk_11 小时前
研发运维一体化:开源知识库落地案例与价值探析
运维·人工智能·架构·开源
蓝队云计算11 小时前
深耕本土,安全稳定——云南云服务器为何首推蓝队云
运维·服务器·安全·云服务器·蓝队云
讯捷蓝达11 小时前
服务器维修立等可取?Dell R730不开机 现场维修分享(东莞长安)
运维·经验分享
m0_6948455712 小时前
Docker 从入门到实践教程:docker_practice 完整学习指南
运维·服务器·docker·容器·云计算·github
hweiyu0012 小时前
Linux命令:pgrep
linux·运维·服务器
文人sec12 小时前
【Linux 服务器上搭建 JMeter 性能测试与监控环境(实战版)】
linux·运维·服务器·jmeter·性能测试
顾北1212 小时前
从零搭建 ELK 栈(ES+Kibana+Logstash):含 IK + 拼音分词,MySQL 同步 ES 完整配置
运维·elasticsearch
papaofdoudou12 小时前
Linux内核的边界在哪里?
linux·运维·服务器
路由侠内网穿透12 小时前
本地部署开源零信任网络平台 NetBird 并实现外部访问
运维·服务器·数据库·开源