1. jenkins执行python脚本问题
一般有三种方法:
1.安装执行python的插件:Python Plugin,安装后在配置那里就可以看到以下的选项,可以在Script部分直接写python代码
2. 部署jenkins需要多少容量
1 修改jenkins的根目录,默认地在C:\Documents and Settings\AAA\.jenkins 。
.jenkins
├─jobs
│ └─JavaHelloWorld
│ ├─builds
│ │ ├─2011-11-03_16-48-17
│ │ ├─2011-11-03_16-49-05
│ │ ├─2011-11-03_16-49-29
│ │ ├─2011-11-03_17-01-49
│ │ └─2011-11-03_17-11-42
│ └─workspace
│ ├─build
│ │ ├─classes
│ │ │ └─oata
│ │ └─jar
│ └─src
│ └─oata
├─plugins
├─usercontent
├─war
可以通过设置环境变量来修改,例如:
set JENKINS_HOME=C:\jenkins
然后重新启动jenkins。
2 备份和恢复jenkins
只需要备份JENKINS_HOME下的所有文件和文件夹,恢复的时候需要先停止jenkins。
3 移动,删除或修改jobs
对于移动或删除jobs,只需要简单地移动或删除%JENKINS_HOEM%\jobs目录。
对于修改jobs的名字,只需要简单地修改%JENKINS_HOEM%\jobs下对应job的文件夹的名字。
对于不经常使用的job,只需要对%JENKINS_HOEM%\jobs下对应的jobs的目录zip或tar后存储到其他的地方。
4 可以在jenkins的url中执行一些命令来操作jenkins,如下
http://[jenkins-server]/[command] 命令可以为:
exit shutdown jenkins
restart restart jenkins
reload to reload the configuration
5 Jenkins 启动时的命令行参数
--httpPort=$HTTP_PORT,用来设置jenkins运行时的web端口。
--httpsPort=$HTTP_PORT,表示使用https协议。
--httpListenAddress=$HTTP_HOST,用来指定jenkins监听的ip范围,默认为所有的ip都可以访问此jenkins server。
6 修改jenkins的timezone
如果jenkins所在的server的timezone不同于用户的timezone,这时候需要修改jenkins的timezone,需要在jenkins启动的时候增加下列参数-Dorg.apache.commons.jelly.tags.fmt.timeZone=TZ
7 最好通过一个脚本来启动jenkins,确保jenkins每次都运行在相同的环境下,例如
startjenkins.bat
set JENKINS_HOME=c:\jenkins
cd /d %JENKINS_HOME%
java -jar %JENKINS_HOME%\jenkins.war --httpPort=8000
8 jenkins在后台运行
如果jenkins是部署在servlet容器中,例如apache,tomcat中。因为servlet容器一般都在后台运行了,所以jenkins也就已经在后台运行了。
对于windows用户需要在jenkins的管理页面中点击insall as windows service来将jenkins部署为service。 但是感觉比较好的方法还是手动将启动jenkins的脚本部署为windows service,从而可以更灵活地设置更多的参数。
9 jenkins的系统信息
可以在jenkins的管理页面下的系统信息中,查看所有的jenkins的信息,例如jenkins的启动配置,所依赖的系统的环境变量,所安装的plugins。
10 jenkins内置的环境变量
BUILD_NUMBER, 唯一标识一次build,例如23;
BUILD_ID,基本上等同于BUILD_NUMBER,但是是字符串,例如2011-11-15_16-06-21;
JOB_NAME, job的名字,例如JavaHelloWorld;
BUILD_TAG, 作用同BUILD_ID,BUILD_NUMBER,用来全局地唯一标识一此build,例如jenkins-JavaHelloWorld-23;
EXECUTOR_NUMBER, 例如0;
NODE_NAME,slave的名字,例如MyServer01;
NODE_LABELS,slave的label,标识slave的用处,例如JavaHelloWorld MyServer01;
JAVA_HOME, java的home目录,例如C:\Program Files (x86)\Java\jdk1.7.0_01;
WORKSPACE,job的当前工作目录,例如c:\jenkins\workspace\JavaHelloWorld;
HUDSON_URL = JENKINS_URL, jenkins的url,例如http://localhost:8000/ ;
BUILD_URL,build的url 例如http://localhost:8000/job/JavaHelloWorld/23/;
JOB_URL, job的url,例如http://localhost:8000/job/JavaHelloWorld/;
SVN_REVISION,svn 的revison, 例如4;
3. jenkins能执行python脚本吗
可以的,python 基本都可以调用的
4. 如何利用jenkins git shell脚本自动部署服务
shell作业要求:
1、从git服务器clone和pull代码(可指定分支,http方式)
2、项目打包
3、部署到本地tomcat
4、需要支持的参数(可通过配置文件):git项目地址、分支名称、项目本地目录
注意:脚本的话不要随意的在网页上运行,因为不同的操作系统会自动给它加上一个你看不到的标记,这会让新手非常的茫然,自己手动敲敲没什么坏处
5. 如何禁用jenkins自动清理的工作空间
在 jenkins Script Console 页面设置如下属性取消了 Workspace clean up
hudson.model.WorkspaceCleanupThread.disabled = true
PS:每次重启jenkins都要设置一下
6. jenkins服务器上为什么留有workspace
1修改jenkins的根目录,默认地在C:\DocumentsandSettings\AAA\.jenkins。.jenkins├─jobs│└─JavaHelloWorld│├─builds││├─2011-11-03_16-48-17││├─2011-11-03_16-49-05││├─2011-11-03_16-49-29││├─2011-11-03_17-01-49││└─2011-11-03_17-11-42│└─workspace│├─build││├─classes│││└─oata││└─jar│└─src│└─oata├─plugins├─usercontent├─war可以通过设置环境变量来修改,例如:setJENKINS_HOME=C:\jenkins然后重新启动jenkins。2备份和恢复jenkins只需要备份JENKINS_HOME下的所有文件和文件夹,恢复的时候需要先停止jenkins。3移动,删除或修改jobs对于移动或删除jobs,只需要简单地移动或删除%JENKINS_HOEM%\jobs目录。对于修改jobs的名字,只需要简单地修改%JENKINS_HOEM%\jobs下对应job的文件夹的名字。对于不经常使用的job,只需要对%JENKINS_HOEM%\jobs下对应的jobs的目录zip或tar后存储到其他的地方。4可以在jenkins的url中执行一些命令来操作jenkins,如下http://[jenkins-server]/[command]命令可以为:5Jenkins启动时的命令行参数--httpPort=$HTTP_PORT,用来设置jenkins运行时的web端口。--httpsPort=$HTTP_PORT,表示使用https协议。--httpListenAddress=$HTTP_HOST,用来指定jenkins监听的ip范围,默认为所有的ip都可以访问此jenkinsserver。6修改jenkins的timezone如果jenkins所在的server的timezone不同于用户的timezone,这时候需要修改jenkins的timezone,需要在jenkins启动的时候增加下列参数-Dorg.apache.commons.jelly.tags.fmt.timeZone=TZ7最好通过一个脚本来启动jenkins,确保jenkins每次都运行在相同的环境下,例如startjenkins.batsetJENKINS_HOME=c:\jenkinscd/d%JENKINS_HOME%java-jar%JENKINS_HOME%\jenkins.war--httpPort=80008jenkins在后台运行如果jenkins是部署在servlet容器中,例如apache,tomcat中。因为servlet容器一般都在后台运行了,所以jenkins也就已经在后台运行了。对于windows用户需要在jenkins的管理页面中点击insallaswindowsservice来将jenkins部署为service。但是感觉比较好的方法还是手动将启动jenkins的脚本部署为windowsservice,从而可以更灵活地设置的参数。9jenkins的系统信息可以在jenkins的管理页面下的系统信息中,查看所有的jenkins的信息,例如jenkins的启动配置,所依赖的系统的环境变量,所安装的plugins。10jenkins内置的环境变量BUILD_NUMBER,唯一标识一次build,例如23;BUILD_ID,基本上等同于BUILD_NUMBER,但是是字符串,例如2011-11-15_16-06-21;JOB_NAME,job的名字,例如JavaHelloWorld;BUILD_TAG,作用同BUILD_ID,BUILD_NUMBER,用来全局地唯一标识一此build,例如jenkins-JavaHelloWorld-23;EXECUTOR_NUMBER,例如0;NODE_NAME,slave的名字,例如MyServer01;NODE_LABELS,slave的label,标识slave的用处,例如JavaHelloWorldMyServer01;JAVA_HOME,java的home目录,例如C:\ProgramFiles(x86)\Java\jdk1.7.0_01;WORKSPACE,job的当前工作目录,例如c:\jenkins\workspace\JavaHelloWorld;HUDSON_URL=JENKINS_URL,jenkins的url,例如http://localhost:8000/;BUILD_URL,build的url例如http://localhost:8000/job/JavaHelloWorld/23/;JOB_URL,job的url,例如http://localhost:8000/job/JavaHelloWorld/;SVN_REVISION,svn的revison
7. 如何把zip包通过jenkins部署到linux服务器上
此处以Linux+tomcat为例
准备工作:
1>完成Jenkins服务环境的搭建,此处不再详述,不会的童鞋可参考下面的博客
http://www.cnblogs.com/zz0412/tag/jenkins/
2>安装Publish Over SSH插件(这个插件可以通过ssh连接其他Linux机器),不会的童鞋可参考:
http://www.cnblogs.com/zz0412/p/jenkins_jj_10.html
3>配置SSH Server
然后新建jobs,在SSH server页面进行一下配置
说明:以上配置是在构建项目时将jenkins服务器上生成的项目war包拷贝到远程服务器下
(注意要记得为文件配置权限,我在此处有一个删除脚本的命令,大家根据需要,不一定需要此步骤)
#########################shell脚本内容分享########################
图中脚本jenkins_reboot.sh主要功能为部署项目war包至tomcat服务器中,重新启动tomcat,包括重命名、删除、备份等步骤,code如下:
8. Jenkins-Pipeline脚本编写入门
定义本次有多少流程,每个流程干什么事情
定义使用哪个打包节点去进行构建,其中参数为Jenkins-Agent的Label
切换到所需的工作目录
多容器Node切换到不同的容器中,从而使用不同的工具进行打包操作
使用Jenkins凭据,也就是在管理中配置的Jenkins凭据,其中 credentialsId 参数需要输入凭据的Id
Docker-Pipeline这个插件Api比较多,建议去查看官方文档 Docker-Pipeline插件使用手册
其中下面的最简单的使用方式, withRegistry 第一个参数是仓库地址,第二个参数是使用哪个凭据,也就是在凭据中定义的那个Id
NodeJs插件详解
其中Pipeline使用 nodejs 这个指令去使用NodeJs,参数是NodeJs配置的名称
插件地址
这个插件允许你将构建产物发送到其他的物理服务器上面去, 牛逼!!!
在这个标签中包着才能解析并执行Groovy的语法。
注意区分单引号和双引号,单引号不能带环境变量
使用这个就能直接生成所需插件的使用片段,如果没得那就只能自己写了~
9. jenkins执行脚本的环境变量中,如何获取执行
方法/步骤
打开Jenkins>点击Manage Jenkins >再点击Manage Nodes
10. jenkins执行shell脚本,是执行服务器上的么
默认是执行jenkins 服务器本地 workspace 里的脚本 不过也可以执行 本地或局域网内其他服务器任意脚本 需要 ssh 插件