gitlab CI/CD自动化部署

一、注册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脚本去自动拉取代码。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值