一、注册Runner
root用户执行:用第一个就行
gitlab-runner register
gitlab-ci-multi-runner register
会根据提示让输入URL 和 token
拿到url和token linux会提示输入下面几项 (两个全输入true)
注册好以后,重启runner
sudo gitlab-ci-multi-runner restart(后台服务启动)
回到gitlab页面就是刚才看url和token的页面,就能看到如下
然后点击铅笔图标编辑,进入编辑页面,给这个runner分配项目,想分配哪个项目就点后面的 Enable,然后保存,点击 save changes
保存完以后,就完成了项目和runner的关联
现在就可以去写个shell脚本用来拉取分支,然后通过yml文件去触发shell脚本执行
shell脚本(自己存在服务器上,下面.yml文件填的就是这个shell脚本存放在服务器文章)
贴脚本代码:(直接拷贝,然后只改上面三个参数,其他的不用动)
要拉取得分支名:就是你想把那个分支关联到这台服务器上
DEPLOY_PATH=项目根目录路径
GIT_URL=git克隆地址
NOW_BRANCH=要拉取的分支名
cd $DEPLOY_PATH
if [ -d "$DEPLOY_PATH/.git" ];then
echo --- Clean Workspace ---
git clean -f
git reset --hard
git remote update origin -p
git checkout $NOW_BRANCH
echo --- 拉取 $NOW_BRANCH 分支 ---
git pull origin $NOW_BRANCH
echo --- OK ---
else
git init
git remote add origin $GIT_URL
git pull origin $NOW_BRANCH
git remote update origin -p
git checkout $NOW_BRANCH
echo --- OK ---
fi
创建 .gitlab-ci.yml 文件
tags就是注册时填写的tag
贴上模板:
stages:
- deploy
xjzm_publish_test:
stage: deploy
tags:
- gzh_xjzm_test
only:
- develop
script:
- whoami
- /website/deploy/gzh_deploy.sh
xjzm_publish_product:
stage: deploy
tags:
- gzh_xjzm_product
only:
- master
script:
- whoami
- /website/deploy/gzh_deploy.sh
服务器操作--创建shell脚本文件。
注意:切换到gitlab-runner用户(自动发布用户)
//先切换到gitlab-runner用户
su gitlab-runner
//然后克隆gitlab项目地址 -b 是指定分支的意思
git clone -b master git@gitee.com:mall_yunyao/total_admin.git
最后去提交代码就可以自动部署到服务器了。
注意要把上面说到的.gitlab-ci.yml文件 放到项目中一块提交才会触发shell脚本去自动拉取代码。