gitlab+jenkins+webhook自动构建
1.jenkins安装好,Gitlab Hook Plugin,GitLab Plugin,Gitlab Authentication pluginhttps://images2017.cnblogs.com/blog/718704/201712/718704-20171201105955117-1394631924.png
2.配置gitlab代码获取用户,系统管理---管理用户---新建用户
https://images2017.cnblogs.com/blog/718704/201712/718704-20171201110531383-569585307.png
3.授权用户构建权限,系统管理---Configure Global Security
a. admin管理员权限一定要全部
b.其它用户授予Overall权限
https://images2017.cnblogs.com/blog/718704/201712/718704-20171201110708102-1731801815.png
4.建立的project配置权限及设置
https://images2017.cnblogs.com/blog/718704/201712/718704-20171201110959867-386125003.png
5.填入git地址及拉取git源码的账号
https://images2017.cnblogs.com/blog/718704/201712/718704-20171201111111164-119559897.png
6.构建触发器,gitlab webhook push的地址,按要求填入
https://images2017.cnblogs.com/blog/718704/201712/718704-20171201111501086-1082752048.png
用户的api-token查看,gitlab webhooks地址:
http://pinxxx:f8e7ff5c04c4c614a3786d6d5cdec65c@192.168.1.103:8080/job/wap.b2b-v3.0/build?token=e74e15dc63ece4a24ac6966c
https://images2017.cnblogs.com/blog/718704/201712/718704-20171201112246273-1378825124.png
7.构建本地打包命令
#!/bin/sh
cd ${WORKSPACE}/../
[ ! -d ${WORKSPACE}/deploy ] && mkdir ${WORKSPACE}/deploy
rm -rf ${WORKSPACE}/deploy/*.gz
# SVN
#tar -zcf ${WORKSPACE}/deploy/${JOB_NAME}_${BUILD_ID}_v${SVN_REVISION}.tar.gz --exclude=".git" --exclude=".gitignore" --exclude=deploy ${JOB_NAME}/wap.v3.0/dist_dev
# GIT
tar -zcf ${WORKSPACE}/deploy/${JOB_NAME}_${BUILD_ID}.tar.gz --exclude=".git" --exclude=".gitignore" --exclude=deploy ${JOB_NAME}/wap.v3.0/dist_dev
https://images2017.cnblogs.com/blog/718704/201712/718704-20171201111802227-638338526.png
8.连接站点服务器,进行代码打包发布
#!/bin/sh
WWW=/data/wwwroot/v3.0
SITE=m.source.git
cd /data/jenkins/deploy
mkdir ${WWW}/${SITE}_${BUILD_ID}
##tar -zxf ${JOB_NAME}_${BUILD_ID}.tar.gz -C ${WWW}/${SITE}_${BUILD_ID} --strip-components 3
tar -zxf ${JOB_NAME}_${BUILD_ID}.tar.gz -C ${WWW}/${SITE}_${BUILD_ID} --strip-components 2
cd ${WWW}
rm -rf ${SITE}
ln -s ${SITE}_${BUILD_ID} ${SITE}
##OSITE=${SITE}_$[ ${BUILD_ID} - 2 ]_v${SVN_REVISION}
OSITE="${SITE}_$[ ${BUILD_ID} - 2 ]*"
rm -rf $OSITE
chown -R root.root ${WWW}/${SITE}/
chown -R nginx.nginx ${WWW}/${SITE}/dist_dev/dist_css/img
##find ${WWW}/${SITE}/ -name runtime | xargs chown -R nginx.nginx
#rm -rf /data/jenkins/deploy/*
https://images2017.cnblogs.com/blog/718704/201712/718704-20171201112014289-1577449454.png
9.配置gitlab自动发布
https://images2017.cnblogs.com/blog/718704/201712/718704-20171201112410070-2087780148.png
10.在webhooks填入jenkins构建的地址,出现 Hook executed successfully: HTTP 201 就表示可以push成功
http://pinxxx:f8e7ff5c04c4c614a3786d6d5cdec65c@192.168.1.103:8080/job/wap.b2b-v3.0/build?token=e74e15dc63ece4a24ac6966c
https://images2017.cnblogs.com/blog/718704/201712/718704-20171201112611008-214376158.png
http://blog.csdn.net/guanshulixiao/article/details/76174731
http://blog.csdn.net/reblue520/article/details/76287590
页:
[1]