系统:Ubuntu
项目:springboot + maven
版本控制:Git
首先在项目的pom.xml文件中找到build节点,在build节点中添加以下配置,否则部署时会报错。
compile
然后在Ubuntu系统上下载JDK,我使用的是命令行的方式。注意如果下载瞬间完成,下载完成的tar.gz包如果只有5K大小,则说明包已损坏,可以使用FTP传输工具从Windows上下载然后传到服务器上并解压,再下载maven,然后配置环境变量。
使用命令
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
下载完之后会在当前目录下生成一个jenkins.war包,使用以下命令即可直接启动Jenkins。
java -jar jenkins.war
Jenkins默认为8080端口,如果还有其他应用程序正在占用,可以使用以下命令自定义端口。
java -jar jenkins.war -httpPort=端口号
以上方式为直接启动的方式,适合不熟悉配置的情况,可以快速的看到输出的日志。还可以使用后台启动的方式:
nohup java -jar jenkins.war --httpPort=端口号
Jenkins在构建完之后会自动杀死进程,即使显示BUILD SUCCESS,导致项目启动之后直接被关闭。可以添加-Dhudson.util.ProcessTree.disable=true参数来解决。
nohup java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war --httpPort=端口号
以nohup后台方式启动后,在当前目录(跟jenkins.war包同一目录)会生成一个nohup.out日志文件,再去查看日志时候,则需要手动输入命令查看
tail -f nohup.out
Jenkins启动之后,如果是使用图形化界面,直接打开Firefox ,输入localhost:端口,如果是用Windows系统访问,则在浏览器输入服务器IP:端口号,如:http://39.102.XX.XX:8090 进行访问。
Jenkins启动之后会让你输入密码,首次启动会在日志中显示你的登录密码。如果没有注意或者未找到,在当前页面会给你一个路径,输入命令
cat 粘贴已经复制的路径
会显示密码。复制密码到页面,然后点击继续。
之后会进入配置页面,有两个选项,第一个为推荐安装的方式,第二种为自定义的方式安装。选择第二种。
在添加插件的页面中下拉到Source Code Management下,默认有选择Git,下面还有GitHub和GitLab,根据自己的情况选择,我们公司使用的是GitLab;再下拉到Notifications and Publishing下,选择Publish Over SSH和SSH选项。然后点击安装install。
接下来会跳转到Jenkins首页。点击新建任务,输入项目名称之后选择构建一个自由风格的软件项目,点击OK。
下拉到Source Code Management,选择Git,Repository URL填写项目的git地址,Credentials默认为空,点击Add - Jenkins,填写Username和Password,对应你的git账户名和密码,添加完成之后选择刚刚添加的账户。在Branch Specifier
中选择分支,我的就是默认master。
配置完git,以后构建项目的时候首先会从填写的git地址中将最新的代码拉下来,然后再进行构建。
然后继续下拉,找到BUILD,有一个下拉框,选择“执行shell”,在Command中输入以下命令:
. /etc/profile
pid=$(ps x | grep "medical_v2-0.0.1-SNAPSHOT.jar" | grep -v grep | awk '{print $1}')
if [ -n "$pid" ]; then
kill -9 $pid
fi
pwd
mvn clean package
cd target
pwd
BUILD_ID=dontKillMe nohup java -jar medical_v2-0.0.1-SNAPSHOT.jar
sleep 10s
第一行的 ". /etc/profile"表示使配置文件生效。同source /etc/profile,使用source可能会报错提示命令找不到的情况。
将第二行的 "grep "medical_v2-0.0.1-SNAPSHOT.jar"修改为你项目打包后生成的jar包名称。
倒数第二行jar包名同上,也修改成自己的jar包名。注意如果在启动Jenkins的时候没有添加“-Dhudson.util.ProcessTree.disable=true”参数的话,这里的“BUILD_ID=dontKillMe”一定不能省略。否则会在构建完成之后自动杀死这个进程。
最后一行sleep 10s可以不加。其他的不动。
最后点击下方的Save,进行保存。
点击“立即构建”按钮,会执行刚刚的命令。从而完成项目的启动,在页面的下方会显示构建进度,鼠标放上去,出现三角下拉按钮,选择Console Output可以看到具体的日志。
构建成功左边的小球会变为蓝色,红色代表失败,灰色表示正在构建/取消构建。
至此,构建成功,在浏览器输入服务器地址+项目端口,就可以直接访问项目了。
以后使用git提交代码之后,只需要点击构建按钮,即可自动打包并发布,无需手动执行命令了。