安装gitlab,自带gitlab-ci,然后安装gitlab-ci-multi-runner

加入YUM源
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash

安装最新版本
sudo yum install gitlab-ci-multi-runner

查看所有版本
yum list gitlab-ci-multi-runner --showduplicates | sort -r

安装指定版本
sudo yum install gitlab-ci-multi-runner-1.0.2-1

gitlab-ci-multi-runner register

$ Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com)
$ [GitLab URL,在GitLab仓库的`Settings -> CI/CD -> Runners`下查看]
$ Please enter the gitlab-ci token for this runner
$ [注册token,在GitLab仓库的`Settings -> CI/CD -> Runners`下查看]
$ Please enter the gitlab-ci description for this runner
$ [这个Runner的名称]
$ Please enter the gitlab-ci tags for this runner (comma separated):
$ [这个Runner的tag]
$ Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
$ [这个Runner的执行器类型,这里用最简单的shell就好了]

如果注册时出现类似下列错误:
ERROR: Registering runner… failed runner=< token> status=405 Method Not Allowed
PANIC: Failed to register this runner. Perhaps you are having network problems
则需要检查当前使用的 GitLab 版本,如过使用的是8.x版本的GitLab,则只能使用1.x 版本的 GitLab-Runner。以mac为例,需要重新安装:


启动 GitLab-Runner

cd ~
gitlab-runner install
gitlab-runner start
gitlab-runner restart
gitlab-runner status
gitlab-runner stop
gitlab-runner uninstall
gitlab-runner --help

创建gitlab-runner用户
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

gitlab中添加gitlab-runner成员,加入到项目成员

配置gitlab-runner成员免密SSH登录

配置ssh登录
上面的deploy脚本是用ssh方式来和gitlab联系的。所以要给gitlab-runner这个用户配置一个gitlab上能ssh的用户。首先在gitlab-runner下生成一个密钥对
$su gitlab-runner
$ mkdir ~/.ssh
$ cd ~/.ssh
$ ssh-keygen
# 提示输入一直按回车默认就可以了
$ cat id_rsa.pub
用cat查看公钥,然后复制这一串公钥。在gitlab中新建一个账号比如叫gitlab-runner,把这个账号添加到你的项目成员中,然后在这个账号的user_profile里面,把公钥粘贴进去就好了。
总之就是把这个账号配置成能用ssh登录的。

移交部署目录权限
有些同学可能说脚本执行失败了,有一个原因是/var/example的所有者是root,gitlab-runner并没有权限新建文件。所以我们把/var/example目录的所有者交给gitlab-runner

$ chown -hR gitlab-runner:gitlab-runner /www/wwwroot

如果还是不成功,可以在服务器上手动提交一次,第一次访问这个服务器的时候,有个命令行提示是要把sign添加进已知服务器列表,需要手工输入个yes。如果在服务器上能够正常deploy,那么
这样就大功告成了。

添加.gitlab-ci.yml到项目根目录下
内容:
stages:
- gitlab-runner
deploy:
  stage: gitlab-runner
  script:
    - cd /www/wwwroot/crm
    - git pull origin master 
  only:
    - master
  tags:
    - crm

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部