Jenkins 构建配置
1、手动发布任务
1.1 新建任务
选择构建一个自由风格的软件项目
点击确定之后会跳入配置界面,接下来就是配置我们的自动化操作,首先是配置项目的拉取地址,配置gitlab的项目地址
1.2 添加参数化
1.3配置源码管理
点击添加GitLab的账户密码,不添加时会报红,是没法在GitLab中拉取代码的
1.4 配置构建信息
本机发布
代码如下
两种控制版本的方式,当自动触发构建或者版本号为空时使用时间戳作为版本,当填入版本号时使用填入的版本号
1
|
imagesid=`docker images | grep -i tulingtest | awk '{print $3}'| head -1`project=/var/jenkins_home/workspace/deploy_docker/if [ -z "$VERSION" ];then VERSION=`date +%Y%m%d%H%M`fiecho $VERSIONif docker ps -a|grep -i tulingtest ;then docker rm -f tulingtest fiif [ -z "$imagesid" ];then echo $imagesid "is null"else docker rmi -f $imagesid fidocker build -t tuling/tulingtest:$VERSION $projectdocker run -p 90:80 -idt --name tulingtest tuling/tulingtest:$VERSIONdocker tag tuling/tulingtest:$VERSION harbor.tuling.com/tuling/tulingtest:$VERSIONdocker login -u admin -p Harbor12345 harbor.tuling.comdocker push harbor.tuling.com/tuling/tulingtest:$VERSION
|
发布到其他主机
如果要把应用部署到别的机器,需要添加构建shell,并且把构建脚本进行修改
执行shell
1
|
project=/var/jenkins_home/workspace/deploy_docker/if [ -z "$VERSION" ];then VERSION=`date +%Y%m%d%H%M`fiecho $VERSIONdocker build -t tuling/tulingtest:$VERSION $projectdocker tag tuling/tulingtest:$VERSION harbor.tuling.com/tuling/tulingtest:$VERSIONdocker login -u admin -p Harbor12345 harbor.tuling.comdocker push harbor.tuling.com/tuling/tulingtest:$VERSION
|
远程执行shell
1
|
imagesid=`docker images | grep -i tulingtest | awk '{print $3}'| head -1`if docker ps -a|grep -i tulingtest ;then docker rm -f tulingtest fiif [ -z "$imagesid" ];then echo $imagesid "is null"else docker rmi -f $imagesid fidocker run -p 90:80 -idt --name tulingtest harbor.tuling.com/tuling/tulingtest:$VERSION
|
到这,我们就可以运行一下了,点击立即构建
,然后通过点击 Build History
中的 控制台输出
2、自动化触发构建
之前我们都是手动触发构建和上线操作,如果是测试环境,版本更新很快,手动触发又累又耗费时间,所以这里开始讲述第二种方式,通过webhook 自动触发构建和上线。
2.1 复制之前的流程
2.2 构建触发器
复制完成后,我们进入项目配置界面,切换至构建触发器
:
2.3 配置gitlab
复制之前jenkins图中内容,然后进入GitLab项目中的 setting
> Integration
注意,这里是项目中的,非GitLab的setting配置。 另外,gitlab版本不同 webhook 配置不同
点击Add webhook
时,如果出现 Url is blocked: Requests to the local network are not allowed
解决方法: 进入GitLab首页顶部的小扳手 setting
> Network
目录,执行如下4步,不要忘记最后点击 save changes
然后我们再回到之前界面重新添加一下链接,点击Add webhook
配置之后测试一下:
如果上方提示200代表配置成功:
然后我们回到Jenkins项目面板就可以看到自动构建了: