系统:Ubuntu

项目:springboot + maven

版本控制:Git


1.项目添加配置

首先在项目的pom.xml文件中找到build节点,在build节点中添加以下配置,否则部署时会报错。


<defaultGoal> compile </defaultGoal>

2.环境准备

然后在Ubuntu系统上下载JDK,我使用的是命令行的方式。注意如果下载瞬间完成,下载完成的tar.gz包如果只有5K大小,则说明包已损坏,可以使用FTP传输工具从Windows上下载然后传到服务器上并解压,再下载maven,然后配置环境变量。

3.Jenkins下载并启动

使用命令

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 进行访问。 

4.配置Jenkins

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,进行保存。

5.开始构建

点击“立即构建”按钮,会执行刚刚的命令。从而完成项目的启动,在页面的下方会显示构建进度,鼠标放上去,出现三角下拉按钮,选择Console Output可以看到具体的日志。

构建成功左边的小球会变为蓝色,红色代表失败,灰色表示正在构建/取消构建。

至此,构建成功,在浏览器输入服务器地址+项目端口,就可以直接访问项目了。

以后使用git提交代码之后,只需要点击构建按钮,即可自动打包并发布,无需手动执行命令了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐