目 录CONTENT

文章目录

Jenkins系列07-与GitLab集成

cplinux98
2022-08-30 / 0 评论 / 0 点赞 / 54 阅读 / 464 字 / 正在检测是否收录...

00:文章简介

介绍jenkins与gitlab集成。

1.1:使用tokens通信

1.1:安装插件

集成相关插件
GitLab、Gitlab Authentication、Gitlab API

1.2:设置gitlab的tokens

【用户头像】>【偏好设置】>【访问令牌】

image

Dj9QbzqyNUE8yayJshjh

image

1.3:Jenkins使用gitlab API通信

【系统管理】>【Manage Credentials】>【全局】==>【添加凭据】

image

1.4:集成gitlab

【系统管理】>【系统配置】>【Gitlab】

image

1.5:在任务中测试

配置tomcat-parm任务,将默认的git认证取消掉,只保留仓库url和origin

image

image

1.6:查看效果

image

image

02:hook构建

gitlab提供了一个webhook的功能,设置后,每次提交代码到gitlab就会自动触发一个动作,
Jenkins上关联这个webhook的事件,可以自动触发Jenkins的任务构建

2.1:安装插件

Gitlab Hook

2.2:创建任务


image

配置任务

image

image

image

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} 任务"

image

image

2.3:gitlab关联Jenkins任务

image

image

image

image

image

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

image

image

0

评论区