使用docker搭建持续集成环境
本文主要介绍如何在docker中搭建持续集成(CI)环境,按照文中的步骤,可以完成使用jenkins打包项目并上传到nexus上。
环境要求
- mac(我使用的环境)/linux/ubuntu
- 已经安装了docker以及创建了swarm集群
1.GITLAB安装
如果本地没有对应的gitlab镜像可以到docker hub 上去拉取。拉取完成之后tag成自己想要的名称以及版本(要跟stack文件里面的镜像一致)。
启动命令:docker stack deploy -c 0-gitlab.yml git
stack启动文件内容如下:
version: "3"
services:
gitlab:
image: registry:5000/falcon/gitlab-ce:R1.1.0
environment:
# external_url 设置通过HTTP访问的路径
# gitlab_rails['gitlab_shell_ssh_port']设置通过SSH访问项目的端口
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab:8000'
gitlab_rails['gitlab_shell_ssh_port'] = 8022
hostname: gitlab
ports:
- "8000:8000"
- "8022:22"
networks:
- mcsas-network
# 将gitlab的目录挂载到本机以避免重启容器数据丢失
volumes:
- /Users/xuefei/docker/volumes/git/etc:/etc/gitlab
- /Users/xuefei/docker/volumes/git/opt:/var/opt/gitlab
- /Users/xuefei/docker/volumes/git/log:/var/log/gitlab
deploy:
replicas: 1
update_config:
delay: 10s
restart_policy:
condition: on-failure
networks:
mcsas-network:
external: true
1.2 设置root密码以及创建group以及用户
- 浏览器中输入http://hostname:8000,进入页面
- 设置root密码
- 创建group以及jenkins用户
1.3 生成并设置SSH key
1.3.1 SSH-key的创建(步骤以及操作图):
- 输入 ssh-keygen -t rsa -