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应用返回的结果了。

相关推荐
荣--13 小时前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森14 小时前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜1 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB2 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode4 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220704 天前
如何搭建本地yum源(上)
运维
大树887 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠7 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质7 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工7 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信