首页 > 代码库 > Docker中安装Gitlab和gitlab-ci-multi-runner来搭建CI服务器
Docker中安装Gitlab和gitlab-ci-multi-runner来搭建CI服务器
1 环境
2 镜像地址
3 安装步骤
4 参考
环境
ubuntu-16.04-desktop-amd64.iso
镜像地址
https://hub.docker.com/r/sameersbn/gitlab-ci-multi-runner/
拉取gitlab-ci-multi-runner:docker pull sameersbn/gitlab-ci-multi-runner
安装步骤
1.安装docker 官方apt源公钥:sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
2.添加apt源:sudo touch /etc/apt/sources.list.d/docker.list && echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" >>/etc/apt/sources.list.d/docker.list
3.更新下apt列表:sudo apt-get update
4.安装docker:sudo apt-get install docker-engine
5.验证下安装的结果:
root@slave2:~# docker -v
Docker version 1.12.3, build 6b644ec
6.启动docker:sudo systemctl start docker
7.设置开机自启动:sudo systemctl start docker
8.配置gitlab
1)得先安装docker-compose, 这个比较简单,可以直接下载:curl -L https://github.com/docker/compose/releases/download/1.7.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose,然后加个权限sudo chmod +x /usr/local/bin/docker-compose
2.创建一个专用目录,下载compose文件:wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml
3.启动:docker-compose up -d这里比文档上多了一个-d的参数,是以daemon进程启动。
4.直接访问http://ip地址:10080,可以用了。
9.安装gitlab-ci-multi-runner
通过以上步骤安装安装了gitlab(sameersbn/gitlab 8.x 以上版本默认集成了gitlab ci,可以尝试http://ip地址:10080/ci)
以上docker-compose.yml默认不带runner,ci服务器如果需要跑些自动化任务需要安装runner。
所以稍加修改下这个文件,让其支持一并安装gitlab-ci-multi-runner。
root@slave2:~# vi docker-compose.yml
文件末尾加入如下内容
gitlab-ci-multi-runner:
restart: always
image: sameersbn/gitlab-ci-multi-runner:latest
depends_on:
- gitlab
volumes:
- /srv/docker/gitlab/gitlab-ci-multi-runner:/home/gitlab_ci_multi_runner/data:Z
environment:
- CI_SERVER_URL=http://192.168.80.130:10080/ci
- RUNNER_TOKEN=5ph8JREzhixSz4WKgF5c
- RUNNER_DESCRIPTION=myrunner
- RUNNER_EXECUTOR=shell
按照原来文件格式严格缩进层次摆放,否则执行时报语法错误。
表明安装成功,打开以下网址验证:http://ip地址:10080/admin/runners
展示如下:
后续再写些结合Docker Registry,自动构建、部署的文章。
参考:
http://www.linuxdiyf.com/linux/20238.html
Docker中安装Gitlab和gitlab-ci-multi-runner来搭建CI服务器