什么是CI/CD?
CI (Continuous Integration) 持续集成, CD (Continuous Delivery) 持续部署html
我的理解node
gitlab 提供了一个持续集成的服务, 若是你在项目仓库里面加入.gitlab-ci.yml
文件 同时给项目配置了gitlab-runner, 那么每一次push commit, 都会触发你的 CI pipeline (持续集成管道)linux
官方安装文档git
若是机器可以正常访问外网,那么查阅官方文档进行安装docker
通常来讲,内网与外网是处于隔断的状况,可是能够经过http代理服务器,容许内网访问外网的资源。
假设代理服务器机器的ip为: http://192.168.1.100:8000
shell
具体步骤:bash
编辑 yum.conf服务器
sudo vi /etc/yum.conf # 追加一行 proxy=http://192.168.1.100:8000
添加 GitLab's official repository (yum仓库)ssh
http_proxy=http://192.168.1.100:8000 curl -L -x $http_proxy https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sed "s#curl -sSf#curl -x $http_proxy -sSf#g" > script.rpm.sh sudo bash script.rpm.sh
下载安装gitlabcurl
# 查看gitlab-runner的版本 yum list gitlab-runner --showduplicates | sort -r gitlab-runner.x86_64 10.5.0-1 runner_gitlab-runner gitlab-runner.x86_64 10.4.0-1 runner_gitlab-runner gitlab-runner.x86_64 10.3.1-1 runner_gitlab-runner gitlab-runner.x86_64 10.3.0-1 runner_gitlab-runner gitlab-runner.x86_64 10.2.1-1 runner_gitlab-runner gitlab-runner.x86_64 10.2.0-1 runner_gitlab-runner gitlab-runner.x86_64 10.1.1-1 runner_gitlab-runner gitlab-runner.x86_64 10.1.0-1 runner_gitlab-runner gitlab-runner.x86_64 10.0.2-1 runner_gitlab-runner gitlab-runner.x86_64 10.0.1-1 runner_gitlab-runner gitlab-runner.x86_64 10.0.0-1 runner_gitlab-runner # 指定安装某个版本 sudo yum install gitlab-runner-10.1.1-1 -y
安装完成后, 出现一个/home/gitlab-runner
文件夹
主要的命令操做有以下: install
, start
, stop
, status
, register
, unregister
install 命令
安装配置 gitlab-runner, 若是使用yum install
则会默认安装
# --user 用户名 # --working-directory 工做目录 sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
start 命令sudo gitlab-runner start
, 启动服务
stop 命令 sudo gitlab-runner stop
, 关闭服务
status 命令sudo gitlab-runner status
, 查看服务运行状态
register 命令
注册一个任务,这个属于gitlab-runner
比较重要的命令, 咱们须要结合一个实际的案例进行演示,
项目仓库地址: https://gitlab.com/liyanlong/...
在仓库中查阅CI / CD Setting
, 获得 CI token
sudo gitlab-runner register Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/): https://gitlab.com/ Please enter the gitlab-ci token for this runner: gHKt7inn3nBzJ2m5gx-P Please enter the gitlab-ci description for this runner: hostname Please enter the gitlab-ci tags for this runner (comma separated): node,test Whether to run untagged builds [true/false]: true Whether to lock the Runner to current project [true/false]: false Registering runner... succeeded runner=gHKt7inn Please enter the executor: docker+machine, kubernetes, docker-ssh, ssh, shell, virtualbox, docker-ssh+machine, docker, parallels: shell
注册后使用 gitlab-runner list
查阅配置
sudo gitlab-runner list Listing configured runners ConfigFile=/etc/gitlab-runner/config.toml hostname Executor=shell Token=token URL=https://gitlab.com/
注册后,gitlab 页面将出现一个运行的runner
gitlab-runner unregister 命令
gitlab-runner unregister --url http://gitlab.example.com/ --token t0k3n
gitlab-runner unregister --name test-runner
gitlab-runner unregister --all-runners