【jenkins】jenkins使用pipeline配置django项目

目录

一、部署jenkins

二、配置

[2.1 获取gitee账户凭证](#2.1 获取gitee账户凭证)

[2.2 安装pipeline插件](#2.2 安装pipeline插件)

三、创建一个流水线项目

四、选择创建的项目

[4.1 源码设置](#4.1 源码设置)

[4.2 配置](#4.2 配置)


前言:个人使用,比较简单,做个笔记,这里我使用的是gitee作为仓库

一、部署jenkins

略,博主很多文章涉及

二、配置

2.1 获取gitee账户凭证

在自由风格项目源码管理可添加gitee账户信息,其他入口在哪里我不记得了

2.2 安装pipeline插件

三、创建一个流水线项目

四、选择创建的项目

4.1 源码设置

我的项目没有(原因未知,如果有这里配置gitee信息即可)

这个是自由项目里面的截图,正常应该是这样

4.2 配置

这里我配置了gitee拉代码,如果有源码管理stage('Checkout')可不要。

其他内容根据自己需要配置

复制代码
pipeline {
    agent any

    environment {
        VENV = 'venv'
        DJANGO_SETTINGS_MODULE = 'yourproject.settings'
    }

    stages {
        stage('Checkout') {
            steps {
                // 使用 GitSCM 插件从 Gitee 检出代码
                checkout([
                    $class: 'GitSCM',
                    branches: [[name: '*/master']],
                    doGenerateSubmoduleConfigurations: false,
                    extensions: [],
                    userRemoteConfigs: [[
                        credentialsId: 'gitee账户凭证,前面有说',
                        url: 'GITEE地址'
                    ]]
                ])
            }
        }

        stage('Stop Existing Django Demo Container') {
            steps {
                script {
                    // 检查容器是否存在
                    def containerExists = sh(script: "docker ps -a -f 'name=djangodemo' --quiet", returnStdout: true).trim()
                    
                    // 如果容器存在,则停止它
                    if (containerExists) {
                        sh "docker stop djangodemo"
                        // 可选:等待容器完全停止(如果需要)
                        // sh "docker wait djangodemo"
                        // 清理停止的容器(由于之前的步骤中未使用 --rm,这里可能需要手动删除)
                        // 但由于您之前使用了 --rm,这一步通常不需要(除非之前某次构建失败了)
                        // sh "docker rm djangodemo"
                    }
                }
            }
        }

        stage('Run Django Demo Container') {
            steps {
                script {
                    // 定义工作区变量
                    def WORKSPACE = pwd()

                    // 运行 Docker 容器,等待其完成并自动删除
                    sh """
                    docker run --rm -d -w=\${WORKSPACE} -p 8300:8300 --name djangodemo \\
                        --volumes-from=myjenkins djangodemoone:latest
                    """

                    // 注意:此处的容器将在任务完成后自动删除,因为使用了 --rm 选项。
                }
            }
        }
    }

    // 可选的清理阶段(在这个例子中不是必需的,因为已经使用了 --rm)
    // post {
    //     always {
    //         // 清理步骤(如果需要)
    //     }
    // }
}
相关推荐
ulias21215 分钟前
Linux系统中的权限问题
linux·运维·服务器
青花瓷1 小时前
Ubuntu下OpenClaw的安装(豆包火山API版)
运维·服务器·ubuntu
问简2 小时前
docker 镜像相关
运维·docker·容器
Dream of maid3 小时前
Linux(下)
linux·运维·服务器
齐鲁大虾3 小时前
统信系统UOS常用命令集
linux·运维·服务器
Benszen3 小时前
Docker容器化技术实战指南
运维·docker·容器
ZzzZZzzzZZZzzzz…3 小时前
Nginx 平滑升级:从 1.26.3 到 1.28.0,用户无感知
linux·运维·nginx·平滑升级·nginx1.26.3·nginx1.28.0
一叶知秋yyds4 小时前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
斯普信云原生组5 小时前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
safestar20126 小时前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins