00:文章简介
介绍jenkins与gitlab集成。
1.1:使用tokens通信
1.1:安装插件
集成相关插件
GitLab、Gitlab Authentication、Gitlab API
1.2:设置gitlab的tokens
【用户头像】>【偏好设置】>【访问令牌】
Dj9QbzqyNUE8yayJshjh
1.3:Jenkins使用gitlab API通信
【系统管理】>【Manage Credentials】>【全局】==>【添加凭据】
1.4:集成gitlab
【系统管理】>【系统配置】>【Gitlab】
1.5:在任务中测试
配置tomcat-parm任务,将默认的git认证取消掉,只保留仓库url和origin
1.6:查看效果
02:hook构建
gitlab提供了一个webhook的功能,设置后,每次提交代码到gitlab就会自动触发一个动作,
Jenkins上关联这个webhook的事件,可以自动触发Jenkins的任务构建
2.1:安装插件
Gitlab Hook
2.2:创建任务
配置任务
http://10.0.0.130:8080/project/gitlab-hook
c68a7168964462f74951dd1f27dab676
#!/bin/bash
# 创建定制的tomcat-web镜像
CONTAINER_NAME='tomcat-web'
IMAGE_VERSINO=V0.1
CONTANER_PORT=8080
HOST_PORT=666
DOCKERFILE_DIR='/data/docker/image'
PRO_NAME='tomcat-web'
echo "开始 ${PRO_NAME} 任务"
# 准备基本目录
[ -d ${DOCKERFILE_DIR} ] || mkdir -p ${DOCKERFILE_DIR}
tar -C ${PRO_NAME} -zcf ${PRO_NAME}/ROOT.tar.gz ROOT --remove-files
mv -i ${PRO_NAME} ${DOCKERFILE_DIR}
# 构建镜像
docker build -t ${CONTAINER_NAME}:v0.1 ${DOCKERFILE_DIR}/${PRO_NAME}
# 重启项目
num=$(docker ps | grep ${CONTAINER_NAME} | wc -l)
[ $num -eq 1 ] && docker rm -f ${CONTAINER_NAME}
docker run -d --name ${CONTAINER_NAME} -p ${HOST_PORT}:${CONTANER_PORT} ${CONTAINER_NAME}:v0.1
# 清理旧代码
rm -rf ${DOCKERFILE_DIR}/${PRO_NAME}
echo "结束 ${PRO_NAME} 任务"
2.3:gitlab关联Jenkins任务
2.4:git-client提交代码测试
git checkout master
cat tomcat-web/ROOT/index.jsp
String str = "买 1 送 20000";
git add .
git commit -m 'Fix bug'
git push origin master
评论区