怎样向jenkins workspace 中加进文档
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 最好通过一个JAVA来启动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的JAVA部署为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,例如 ;
BUILD_URL,build的url 例如;
JOB_URL, job的url,例如;
SVN_REVISION,svn 的revison
Jenkins-Pipeline脚本编写入门
定义本次有多少流程,每个流程干什么事情
定义使用哪个打包节点去进行构建,其中参数为Jenkins-Agent的Label
切换到所需的工作目录
多容器Node切换到不同的容器中,从而使用不同的工具进行打包操作
使用Jenkins凭据,也就是在管理工作中配置的Jenkins凭据,其中 credentialsId 参数需要输入凭据的Id
Docker-Pipeline这个插件Api比较多,建议去查看官方文档 Docker-Pipeline插件使用手册
其中下面的最简单的使用方式, withRegistry 第一个参数是仓库地址,第二个参数是使用哪个凭据,也就是在凭据中定义的那个Id
NodeJs插件详解
其中Pipeline使用 nodejs 这个指令去使用NodeJs,参数是NodeJs配置的名称
插件地址
这个插件允许你将构建产物发送到其他的物理服务器上面去, 牛逼!!!
在这个标签中包着才能解析并执行Groovy的语法。
注意区分单引号和双引号,单引号不能带环境变量
使用这个就能直接生成所需插件的使用片段,如果没得那就只能自己写了~
Jenkins 执行JAVA
export JAVA_HOME=/home/software/jdk/jdk1.8.0_172
rm -rf /home/tomcat/webapps/breeding.war
rm -rf /home/tomcat/webapps/breeding/
rm -f /home/tomcat/logs/*
cp /home/files_of_jenkins/project/target/breeding.war /home/tomcat/webapps/
cd /home/tomcat/bin/
TOMCAT_PATH=/home/tomcat/bin
echo "TOMCAT_PATH is $TOMCAT_PATH"
PID= ps aux | grep /home/tomcat/bin | grep java | awk {print $2}
if [ -n " PID"
sh " PID"
fi
PID2= ps aux | grep /home/tomcat/bin | grep java | awk {print $2}
if [ -n " PID2
echo "Try to kill PID2"
fi
sh "$TOMCAT_PATH/startup.sh"
sleep 3
PID= ps aux | grep /home/tomcat/bin | grep java | awk {print $2}
if [ -n "$PID" ]; then
echo "\nRestart tomcat successfully!"
else
echo "\nFail to startup tomcat"
exit 1
fi
jenkins配置文档在哪
当然,你也可以为你的目标机器安装SSH服务。
我先说说解决的思路,然后再附上具体的步骤和shellJAVA。
思路:将jenkins安装在linux系统上---SVNcheckout部署的项目---maven插件编译、打包---使用jenkins的FTP插件将需要部署的项目或打成的包上传到指定的机器---执行shellJAVA登录该机器进行解压、部署、启动等操作(也可以直接执行写好的shell)。
具体步骤:
(1)源码管理工作,填写相应的项目SVN地址以及用户名密码
(2)配置mavenbuild,maven插件的配置在系统设置里面设置。
(3)FTP上传
这里的Sourcefiles是jenkins的workspace的相对路径,Removeprefix为取消的前缀(只保留项目名称部分)。
(4)构建时执行JAVA
这是Telnet远程登录的JAVA
#!/usr/bin/envshUSERNAME=swdev #登录用户名PASSWARD=swdev #登录密码TAR=icore-business-ecif-biz-0.0.1-SNAPSHOT-unix.tar.gz#TAR是上传的压缩包的名字MODEL=provider #MODEL是压缩包子目录的名字和启动的二进制程序名一样DEPLOY_DIR=ecif#DEPLOY_IP是上传文档所在的目录REMOTE_IP=192.168.2.3#登录IP(sleep1;echo"$USERNAME";\sleep1;echo"$PASSWARD";\sleep1;echo"cd\$HOME/$DEPLOY_DIR";\sleep1;echo"chmod+x./deploy";\sleep1;echo"nohup./deploy$TAR$MODEL21deploy.log";\sleep10)|telnet$REMOTE_IPexit0
(5)构建后执行JAVAdeploy.sh(主要用于解压、部署、启动等操作,这个放在上传文档所在的目录中)
#!/usr/bin/envsh##$1tar.gzname#$2providersourcefoldername#set-elog_message{echo"[$(date+%Y%m%d-%H:%M:%S)]$1"}BASDIR=$(dirname$0)if[$#-lt2];thenlog_message"Usage:$(basename$0)[tarname][providername]"exit1fi#Stoppreviousversionandbackup,thenremovepreviouspackageCMD="$BASDIR/$2/bin/$2"if[-e"$2"];then$CMDstopbackup="${2}-$(date+%Y%m%d%H%M%S)"log_message"Backuppreviousapplicationto${backup}.tar.gz"tar-cvf$backup.tar$2gzip${backup}.tarrm-rf$2filog_message"Extractpackagebegin"gunzip-c$1|tar-xvf-#Generatelogdirectorymkdir-p$BASDIR/$2/logslog_message"Startingapplication"$CMDstart
这个JAVA只是一个示例,需要根据具体业务具体而定。
最后呢,遇到的几个比较坑的地方拿出来与大家分享下:
FailedtoparsePOMs.
原因:本地服务器和maven服务器之间的连接出现了问题,导致jar包无法下载而报错
解决方法:
vi/etc/hosts
在文档末尾加上你所使用的私服地址如:"192.168.1.1"
运行"#/etc/init.d/networkingrestart"重启网络
怎么实现jenkins的远程JAVAbuild
使用JAVA触发jenkins的远程构建,结合svn的钩子JAVA,就可以完全的让jenkins对管理工作人员透明,只关心是否有构建失败邮件。
job配置--构建触发器--触发远程构建中设置身份验证令牌 例如:TOKEN_TEST,然后保存设置
使用远程的JAVA进行触发,JAVA实例如下:
curl
查看jenkins的页面,发现job加入的构建等待队列并稍后进行了构建。
关于JenkinsJAVA管理工作文档格式和jenkins 指示的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。有需要独享得id可以点击下方广告链接进入。独享一人一号。