系列文章目录
第一章 Ubuntu部署Jenkins服务端 第二章 Linux节点的Python服务自动化构建 第三章 Windows节点Python服务自动化构建 第四章 Vue服务自动化打包构建 第五章 监控服务自动化构建
前言 前面我们介绍在Windows节点上配置Django服务,可以发现我们在部署Python web 服务前需要提前将Apache配置成服务,配置后是不能随意改变任务名称的,因为需要在Apache 配置文件中修改Django项目的目录,运维起来就不是很方便了。 能不能动态加载 Apache 的配置文件呢? 一、Config File Provider Plugin Config File Provider Plugin 提供配置文件的能力(例如:设置.xml对于maven、XML、groovy、自定义文件,…)通过UI加载,并将其复制到作业工作区。 二、使用步骤 1. 安装插件Config File Provider Plugin
安装好插件后可以在系统管理 找到 Managed files
我们需要添加的是 .conf 的配置文件,没有符合的类型,就选择自定义文件。
配置文件的名字就叫做 httpd.conf 这样使用起来最方便
为了配置时方便选择 我添加可说明
然后我们将 配置文件的模板复制到 Content 编辑栏中 在配置文件中引用 环境变量
引用的方式和在 任务配置界面的方式相同 $ + 变量名称
- $WORKSPACE 工作空间目录
- $prot 端口号,需要添加构建参数
- $python_path python执行文件路径,需要添加构建参数
- $app_name Django应用的名称,需要添加构建参数
我们需要使用 Local module directory 在任务目录下同时加载 Apache 文件(apache)和 项目代码 (project)。
我将删除了配置文件 apache 目录 也上传到了 svn 上。
选择 Provide Configuration files 点击 File 下拉框可以看档 上传的所有配置文件。
点击 view selected file 查看下是否是需要的配置文件,因为名称可以是相同的。
Target 是配置文件最终保存的工作目录。
@echo off
set service_name=Apache24-%JOB_NAME%
set apache_path=%WORKSPACE%\apache
sc query %service_name% > nul && set service_state=yes||set service_state=no
if "%service_state%"=="yes" if "%deploy_env%"=="delete" sc delete %service_name%
if "%service_state%"=="no" if "%deploy_env%"=="delete" (echo "deleted" && exit 0)else (%apache_path%\bin\httpd.exe -k install -n %service_name%)
sc query %service_name% > nul && set service_state=yes||set service_state=no
if "%service_state%"=="yes" if "%deploy_env%"=="start" net start %service_name%
if "%service_state%"=="yes" if "%deploy_env%"=="restart" net stop %service_name% && net start %service_name%
if "%service_state%"=="yes" if "%deploy_env%"=="stop" net stop %service_name%