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

相关推荐
VirusVIP1 小时前
Windows CMD通过adb检查触摸屏Linux驱动是否被编译
linux·运维·adb
chennalC#c.h.JA Ptho1 小时前
ubuntu studio 系统详解
linux·运维·服务器·经验分享·ubuntu·系统安全
yt948325 小时前
Docker-基础(数据卷、自定义镜像、Compose)
运维·docker·容器
水银嘻嘻7 小时前
web 自动化之 KDT 关键字驱动详解
运维·自动化
Vone_668 小时前
node.js 邮箱验证服务器搭建
运维·服务器·node.js
丢丢丢丢丢丢~8 小时前
apache2的默认html修改
linux·运维·服务器
wusam8 小时前
Linux系统管理与编程20:Apache
linux·运维·服务器·apache·shell编程
ChironW9 小时前
Ubuntu 24.04 LTS系统上配置国内时间同步
linux·运维·服务器·ubuntu
TPBoreas9 小时前
排查服务器内存空间预警思路
运维·服务器
云攀登者-望正茂9 小时前
Azure 应用的托管身份与服务主体
azure·devops