0x1 优点
gitlab-runner、gitlab-ci能够主动触发任务。比如当某个分支的代码更新的时候自动触发任务,然后远程机器更新代码、编译,发布到站点。这样的话可以减少很多人工的资源更新站点。
0x2 安装部署
主要有以下步骤:
-
远程机器安装 gitlab-runner ,用于 gitlab 服务器指定分支提交任务后能够触发此机器
-
远程机器准备脚本,用于被调用后更新代码、编译、发布到站点,例如示例脚本:
# 大概的步骤就是拉取指定分支代码、编译、发布到web服务器 #!/bin/bash # . /etc/profile . ~/.bash_profile set -x deploy_path="/data/www" if [ ! -d "/data/www/.git" ];then git clone git@gitlab.succez.com:product/www.git $deploy_path else cd $deploy_path git pull [ ! -d /data/www1 ] && mkdir -pv /data/www1 /usr/local/bin/npm run compile fi
-
在 gitlab 仓库中,代码目录下增加文件 .gitlab-ci.yml,内容示例如下:
stages: - deploy deploy: stage: deploy script: - /home/gitlab-runner/bin/deploy_new only: - dev@product/www tags: - only_dev
具体参数的含义可以找到 gitlab-ci或者 gitlab-runner 文档查看,这里的意思大概是仅 dev 分支有更新才会出发编译,其他情况则不会
-
依次在此仓库中找到设置-> CI/CD -> Runner 找到注册地址和注册令牌,然后到远程机器上注册此仓库
-
到远程机器上执行命令
gitlab-runner register
然后根据提示注册到 gitlab 仓库上 -
回到 gitlab 仓库 runner 页面,即可看到注册上来的远程机器 gitlab-runner ,需要状态图片是绿色表示在线
-
至此,我们提交一个此分支的任务,即可在 CI/CD -> 流水线 中看到任务的执行了,后续也可以通过这里排查编译错误等
评论