【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 {
    //         // 清理步骤(如果需要)
    //     }
    // }
}
相关推荐
Lsetea5 小时前
curl指定CA目录仍报证书不受信任:--capath与OpenSSL rehash排查
运维·https·ssl·openssl·curl
优化Henry6 小时前
LTE 载波频率与频点配置详解
运维·网络·学习·5g·信息与通信
代码方舟6 小时前
数据科学风控实战:基于天远全能消金报告构建自动化信用评估网关
运维·人工智能·自动化
科力锐品牌君6 小时前
应用级灾备 | 海量非结构化数据如何实现高效数据保护
linux·运维·网络·安全·系统安全·数据安全·灾备
KaiwuDB6 小时前
KaiwuDB 运维实战04:DRBD + KaiwuDB——物联网场景下的低成本数据库高可用方案
运维·数据库·物联网·时序数据库·kaiwudb·aiot·多模数据库
福建佰胜张工7 小时前
A5E00839230西门子工业核心配件详解:参数、安装调试与故障运维全攻略
运维·网络·安全·自动化
Lancker7 小时前
chnroute-linux — 中国大陆 IP 段每日自动更新 + 「仅允许国内访问」落地
linux·运维·tcp/ip
天远Date Lab8 小时前
零信任架构实战:基于天远全能消金报告(标准版)构建自动化骑手资信评估网关
运维·人工智能·架构·自动化
赛博守夜人8 小时前
反舞弊系列之二十一:数据驱动型反舞弊体系搭建,如何利用ERP与财务数据构建“异常交易自动化风控看板”?
运维·自动化
天衍四九-8 小时前
Docker容器实战系列(八):Docker生产最佳实践与避坑指南,系列终章
运维·docker·容器