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

相关推荐
WTT00112 分钟前
2024楚慧杯WP
大数据·运维·网络·安全·web安全·ctf
苹果醋310 分钟前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
日记跟新中1 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
唐小旭1 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
BUG 4041 小时前
Linux——Shell
linux·运维·服务器
大霞上仙1 小时前
Linux 多命令执行
linux·运维·服务器
冷心笑看丽美人1 小时前
探索 Samba 服务器:搭建跨平台文件共享的桥梁
运维·服务器
晨欣2 小时前
Kibana:LINUX_X86_64 和 DEB_X86_64两种可选下载方式的区别
linux·运维·服务器
AI青年志2 小时前
【服务器】linux服务器管理员查看用户使用内存情况
linux·运维·服务器