简单流程图
- 开发推送代码到github上
- jenkins拉取
1.jenkins配置
jenkins各版本下载:http://mirror.gruenehoelle.nl/jenkins/redhat-stable/
jenkins官网下载:https://www.jenkins.io/download/
2.准备git仓库
在这里使用的是github
3.管理jenkins项目
3.1 创建项目
选择自由风格的项目,类似于模板吧
选择参数化构建过程,原因:程序有tag标记,在构建的过程中得知道是哪个版本的,勾上之后在构建的过程中就可以选择版本了
名称
是一个变量值,可引用
参数类型
是分支或标签,在构建的时候可以选择是构建标签还是某个分支
默认值
是在什么也没有选择的时候,默认构建的
源码管理
选择git
Repository URL
填写github地址
Credentials
:如果你的项目是非公开的,需要在里面添加用户名和密码的
Branches to build:
选择指定哪个分支去构建,这里引用上一张图中Git Patameterized下的名称做变量使用,这样在构建的时候可以选择标签或者分支
Addtional Behaviours
:构建后生成在不同的子目录下,以myweb-$webver为名(希望构建的时候,使用不同的目录)
在jenkins上创建共享服务,例如apache、samba、nfs、ftp等等,以便让远程的服务器获取代码,远程服务器获取代码的时候,应检查代码的md5值,在jenkins服务器上安装apache服务(apache主要用于分发应用程序)
yum -y install httpd
mkdir -pv /var/www/html/deploy/pkgs
chown -R /var/www/html/deploy
systemctl start httpd
systemctl enable httpd
希望项目在构建的时候,使用不用的目录,构建Execute shell脚本
#构建的时候默认会在/var/lib/jenkins/workspace/myweb下生成myweb-$webver
pkg_dir=/var/www/html/depoly/pkgs #包的保存目录
cp -r myweb-$webver $pkg_dir
cd $pkg_dir
rm -rf myweb-$webver/.git #git克隆后的版本库不需要了,删除即可
tar czf myweb-$webver.tar.gz myweb-$webver #删除后打tar包
rm -rf myweb-$webver #打完tar包之后删掉目录
md5sum myweb-$webver.tar.gz | awk '{print $1}' > myweb-$webver.tar.gz.md5 #取md5值
cd ..
[ -f live_ver ] && cat live_ver > last_ver #last_ver表示上一个版本,live_ver表示当前版本
echo -n $webver > live_ver #表示当前目录
3.3 构建项目
首先访问apache如下:
构建1.0项目
开始构建项目,选择1.0开始构建
构建成功,可以查看控制台输出
如果配置了钉钉,钉钉收到的消息是这样的
下面开始构建2.0,构建成功后就可以在apache服务器上查看当前版本和上一个版本