Jenkins是一个开源软件项目。旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
Jenkins是基于Java开发的一种持续集成工具,用于监控持续反复的工作,功能包含:
1、持续的软件版本号公布/測试项目。
2、监控外部调用运行的工作。
本文使用的Linux:Ubuntu
当中JDK、Tomcat、SVNserver请看这里Ubuntu安装配置JDK、Tomcat、SVNserver
一、安装Jenkins
本文直接使用war包安装
下载地址:https://jenkins-ci.org/content/thank-you-downloading-windows-installer/
war包有两种安装方法
方法一
下载jenkins.war, 复制到D:\Java\Tool\jenkins()下,然后运行java -jar jenkins.war. (注意须要先安装JDK,然后设置JAVA_HOME环境变量且将%JAVA_HOME%\bin增加到PATH环境变量中)
运行例如以下:
訪问http://localhost:8080 , jenkins的主界面例如以下:
方法二
把Jenkins 1.409.1版解压。把得到的war包直接扔到tomcat下。启动tomcat,Jenkins就安装完毕,訪问http://localhost:8080
二、构建一个Maven项目
1、新建一个job
2、输入名称和项目类型
3、设置编译的版本号号等信息
4、设置svn库地址:
输入项目托管的svn的地址,假设有出现要输入账号和password的地方,输入就可以。
假设有出现例如以下说明用户或password不正确:
点击进去又一次设置用户和password
5、配置jdk和maven
第一次打开出现例如以下,点击进去。
要求提示设置JDK和Maven
点击系统管理-》系统设置,找到JDK和Maven的设置位置
选择本电脑的:
9、到这里已经能够构造这个项目了。
点击构建
构建输出的信息:
构建成功输出例如以下 :
10、验证
这时它已经自己主动把这个项目打包了一个war包,默认打包到了C:\Users\linbingwen\.jenkins\workspace\JavaWeb\JavaWeb\target
或者点击例如以下:
三、自己主动远程部署到tomcat
接下来要完毕自己主动构建成war包后。将些war包上传到远程linux的tomcat的webapps文件夹,更新项目的war包。并重新启动tomcat.
1、安装插件
系统管理-》管理插件,在可选插件里找到以下这个。然后点击直接安装命令。成功安装后要重新启动jenkins
t笔者在安装插件时报错例如以下:
这应该是天朝的墙所导致的,所以笔者就使用了手动安装的方式。
解决方法:
手动安装
到https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin。下载hpi到本地电脑到
在系统管理--管理插件--高级--浏览-上传插件就可以
然后它自己主动上传并安装:
红色的是笔者在线安装不成功的,蓝色的是笔者成功安装的了。之后重新启动jenkis就可以。
然后输入:
这里还是接着上面的JavaWeb项目,这个配置得安装了上面的插件后才会显示!
Transfer SetSource files:表示要上传的本地的war包及路径,可到工作空间去看
Remove prefix:表示要上传时要去除的文件夹。即仅仅上传war包
remote driectory:即表示运行时的路径,相当于把war包上传到这里了
exec commad:要运行的命令
#!/bin/sh #defined TOMCAT_HOME="/usr/java/tomcat/apache-tomcat-7.0.67/" ID=`ps -ef | grep java | grep tomcat|awk '{print $2}'` echo $ID echo "kill tomcat" kill -9 $ID echo "remover war file" cd "$TOMCAT_HOME"/webapps rm -rf JavaWeb-0.0.1-SNAPSHOT rm -rf JavaWeb-0.0.1-SNAPSHOT.war echo "copy war to webapp" cd /home/lin cp JavaWeb-0.0.1-SNAPSHOT.war "$TOMCAT_HOME"/webapps cd "$TOMCAT_HOME"/bin echo "start tomcat" ./startup.sh
注意:这里配置的ssh用户:lin要有root的权限,要不能够会报错没有权限运行kill 或rm 命令
本文使用的Linux:Ubuntu14.04
当中JDK、Tomcat、SVNserver请看这里Ubuntu安装配置JDK、Tomcat、SVNserver
我的deploy文件 (要在linux下编写,否则会因空格问题无法运行)
#!/bin/sh
#defined
TOMCAT_HOME="/data/tomcat-oa/"
PROJECT_HOME="/data/project/"
PROJECT_NAME="NoitomOA"
OACONFIG_FILE="/data/oaconfig/disconf.properties"
ID=`ps -ef | grep java | grep tomcat-oa|awk '{print $2}'`
echo $ID
echo "kill tomcat"
kill -9 $ID
echo "remove war file"
cd "$PROJECT_HOME"
rm -rf "$PROJECT_NAME"
echo "remove tomcat logs"
rm -rf "$TOMCAT_HOME/logs/*"
echo "copy war to webapp"
cd /data/file/
unzip NoitomOA-web.war -d "$PROJECT_HOME$PROJECT_NAME"
echo "copy config file to project"
echo y|cp "$OACONFIG_FILE" "$PROJECT_HOME$PROJECT_NAME"/WEB-INF/classes/
cd "$TOMCAT_HOME"/bin
echo "start tomcat"
./startup.sh
#!/bin/sh
#defined
TOMCAT_HOME="/data/tomcat-myswing/"
PROJECT_HOME="/data/project/"
PROJECT_NAME="myswing-service"
ID=`ps -ef | grep java | grep tomcat-myswing|awk '{print $2}'`
echo $ID
echo "kill tomcat"
kill -9 $ID
echo "remove war file"
cd $PROJECT_HOME
rm -rf $PROJECT_NAME
echo "remove tomcat logs"
rm -rf $TOMCAT_HOME/logs/*
echo "copy war to webapp"
cd /data/file/
unzip myswing-service.war -d "$PROJECT_HOME$PROJECT_NAME"
echo "copy config file to project"
cd $TOMCAT_HOME/bin
echo "start tomcat"
./startup.sh
相关推荐
8. **持续集成/持续部署(CI/CD)**:Jenkins、Travis CI和CircleCI等工具确保代码质量并自动化部署流程,提高开发效率和软件质量。 9. **容器化**:Docker和Kubernetes使得应用程序及其依赖项可以被标准化和轻松部署...
10. **持续集成/持续部署(CI/CD)**:开发者可能利用Jenkins、GitLab CI/CD或Travis CI等工具实现自动化构建和部署,确保代码的快速迭代和稳定发布。 该项目作为个人毕业设计,不仅展示了SpringBoot的使用,还可能...
7. **持续集成与部署**:对于这样的项目,开发者可能会利用GitHub Actions或Jenkins等工具实现持续集成和自动化部署,确保代码的稳定性和可维护性。 总的来说,这款微信跳一跳模拟软件展现了Python在自动化、图像...
10. **持续集成/持续部署(CI/CD)**:Jenkins、GitLab CI/CD等工具与Spring Cloud的配合,可以自动化构建、测试和部署微服务,加速开发流程。 总的来说,这个开源项目可能是为了提供一个类似于百度能力开放平台的...
6. Jenkins:持续集成/持续部署工具,可自动化构建、测试和部署流程,确保快速反馈和高质量发布。 四、最佳实践 1. 自动化测试:通过编写可重复运行的测试脚本,减少手动测试的工作量,提高效率和准确性。 2. ...