安装gitlab
安装部署针对不同的操作系统和不同的安装方式有多种,我们以macOs系统+docker方案来。
官网文档:docs.gitlab.com/ee/install/…
1. 配置环境变量
# 配置变量
export GITLAB_HOME=$HOME/gitlab
# 看变量是否配置成功
echo $GITLAB_HOME
2. 拉取镜像并运行容器
sudo docker run -d \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22:22 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/gitlab \ --volume $GITLAB_HOME/logs:/var/log/gitlab \ --volume $GITLAB_HOME/data:/var/opt/gitlab \ --shm-size 256m \ gitlab/gitlab-ee:latest
不需要https,可以省略 --publish 443:443,--publish 22:22是配置ssh的,我们在使用ssh模式clone仓库的时候需要用,--publish 80:80为默认的http端口,这里的端口推荐使用默认的,不然后面git clone,以及配置gitlab runner的时候会比较麻烦。
由于容器内部服务启动较慢,容器跑起来后,访问系统是
3. 查看root密码
默认管理员账号是root,密码通过如下命令查看
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
安装gitlab-runner
官网文档:docs.gitlab.com/runner/inst… 我们也以macOs系统做示例。
1. 拉取镜像并运行容器
docker run -d --name gitlab-runner --restart always \ -v /Users/Shared/gitlab-runner/config:/etc/gitlab-runner \ -v /var/run/docker.sock:/var/run/docker.sock \ gitlab/gitlab-runner:latest
这一步是把runner自身的服务跑起来。
在 linux 上,使用
/srv而不是/Users/Shared.
2. 把runner注册到gitlab上
docker run --rm -it -v /Users/Shared/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register
这一步是调用runner中的register脚本,然后根据输入提示来注册。 这个容器运行完会自动删除,只是用来注册用的。
# 输入的参数主要如下
--url "https://gitlab.com/" #gitlab的地址,在gitlab——>settings——>ci/cd中可以看到
--registration-token "PROJECT_REGISTRATION_TOKEN" #注册的token,在gitlab——>settings——>ci/cd中可以看到,注意项目指定runner的token和共享runner的token是不一样的,如果想注册共享token,请使用share runner token。
--executor "docker" #表示runner运行模式
--docker-image alpine:latest #运行docker的基础镜像,主要用来编译的,比如前端使用node镜像即可
--description "docker-runner" #runner的描述
--tag-list "docker" #runner的tag标签,在注册成功后,gitlab上可以看到,并且给ci/cd指定runner的时候需要这个tag名字
3. runner的使用
如果.gitlab-ci.yml配置中没有指定runner tag,默认是没有runner接受job任务的,我们需要runner的配置,如图: