目录
[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 {
// // 清理步骤(如果需要)
// }
// }
}