最近花了一段时间研究jenkins这个工具。所以写下这篇文章,算是当做记录吧!
jenkins是什么?
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
jenkins的作用?
如果我们没用到jenkins,我们项目中,要发版了,我们都有些什么流程?
非jenkins
- 项目打包 mvn package。
- 上传到服务器。
- 执行启动脚本 start.sh 或者 java -jar …。
jenkins
- 点击构建,没了。
哇,不会吧,jenkins这么厉害?我要学,我要学!!!!!!
低调低调,常规操作!!
下面我看下,jenkins是如何安装的。
以下安装是基于linux系统,jenkins安装是有前提的哦,jdk和maven这两个环境是必须的哦。
- 下载jenkins的安装包,我在网上找到的是jenkins的war包,并且上传到linux上,这里我就不演示了哈。
- 启动war包
nohup java -jar /home/jenkins.war --httpPort=8888 >/usr/local/jenkins/jenkins.out 2>&1 &
/home/jenkins.war 是你linux上的路径
/usr/local/jenkins/jenkins.out 是日志输出文件
你没看错,就是这么简单,jenkins服务就启动起来了,我们可以愉快的localhost:8888访问了
卧槽~~ 这是啥,解锁,好高级的样子。
白眼一瞟,要密码,不要慌,图片中红色位置已经告诉你密码的位置了,你只需要cat下即可
cat /root/.jenkins/secrets/initialAdminPassword
关键时刻来了,登陆进去之后,又来个选择,不要慌,按推荐的走。
开始 安装 插件
安装完成后,创建用户名和密码
这样jenkins安装就完成了。
这里有的同学就会说到,不是说要用到jdk和maven吗?在哪儿用到了?
这位同学,坐好,不要急,下面我们就开说说在哪儿用到了。
配置环境
点击配置,我们先配置一波工作环境,方便后续开发。
刚刚那位同学,别睡觉了,敲黑板了,这里是不是就用到了jdk和maven环境了。
工作环境都配置完成了,我们开始构建项目~
构建项目
点击构建项目,开启配置项目之旅。
简单描述下而已,不要偷懒哦。
如果是svn就配置svn地址,git的话,就配置git地址。
然后第一次的话,第二行是显示无的,可以点后面的添加,把git或者svn的账号密码添加进去即可。
这里的项目地址是/root/.jenkins/workspace这个目录下的哦,然后里面文件夹是构建项目名称来了,一个构建项目一个文件夹。第一次对这个路劲不熟的,你可以先这样配置这,build完之后,去这个文件里面看看是什么,就进行配置修改即可。
#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
cd ./ljdy-auth
service_name="ljdy-auth"
service_prot=3000
#查看镜像id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
then
echo "exist $SERVER_NAME image,IID=$IID"
#删除镜像
docker rmi -f $service_name
echo "delete $SERVER_NAME image"
#构建
docker build -t $service_name .
echo "build $SERVER_NAME image"
else
echo "no exist $SERVER_NAME image,build docker"
#构建
docker build -t $service_name .
echo "build $SERVER_NAME image"
fi
#查看容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
echo "exist $SERVER_NAME container,CID=$CID"
#停止
docker stop $service_name
#删除容器
docker rm $service_name
else
echo "no exist $SERVER_NAME container"
fi
#启动
docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name
#查看启动日志
#docker logs -f $service_name
一切配置完成,我们点击保存,然后点击下面的build now,开始构建。
构建的过程中,这个位置是有个进度条的,你可以点击进度条看日志
最后,从安装到构建就全部完成了,下次要版,只需小手点一点即可完成。