gitlab+jenkins+webhook自动构建

1.jenkins安装好,Gitlab Hook PluginGitLab PluginGitlab Authentication plugin

 

2.配置gitlab代码获取用户,系统管理---管理用户---新建用户

 3.授权用户构建权限,系统管理---Configure Global Security

   a. admin管理员权限一定要全部

   b.其它用户授予Overall权限

4.建立的project配置权限及设置

5.填入git地址及拉取git源码的账号

6.构建触发器,gitlab webhook push的地址,按要求填入

 用户的api-token查看,gitlab webhooks地址:

http://pinxxx:f8e7ff5c04c4c614a3786d6d5cdec65c@192.168.1.103:8080/job/wap.b2b-v3.0/build?token=e74e15dc63ece4a24ac6966c

 

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

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/*

 

9.配置gitlab自动发布

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

 

 

 http://blog.csdn.net/guanshulixiao/article/details/76174731

http://blog.csdn.net/reblue520/article/details/76287590

posted @ 2017-12-01 10:19  sunmmi  阅读(832)  评论(0)    收藏  举报