工具:
- 虚拟机B192.168.203.151
- 镜像文件gitlab-12-3-1.tar.gz(已经装好了gitlab)
我们采用docker镜像的方式来创建一个gitlab仓库
# 创建目录
mkdir /data/gitlab/{config,logs,data} -p
# 导入镜像
docker image load < gitlab-12-3-1.tar.gz
# 运行镜像成容器
docker run -d --hostname gitlab --restart=always -p 7080:80 -p 2222:22 -p 8443:443 --name gitlab -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
注:gitlab-ce 镜像要求主机的内存大于2G,所以我们需要提前调整虚拟机容量;由于该镜像涉及的内容比较多,我们需要等待数分钟(3min)然后再来访问gitlab首页
gitlab基础配配置:
# vi /data/gitlab/config/gitlab.rb
external_url 'http://192.168.203.152'
gitlab_rails['gitlab_ssh_host'] = '192.168.203.152'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_shell_ssh_port'] = 22
重启gitlab:
docker restart gitlab
查看运行起来的容器
浏览器访问192.168.203.151:7080即可访问私有仓库gitlab。如下是主页面:
- 创建一个私有仓库
meiduo
- 在虚拟机B192.168.203.151中生成公私钥,然后把公钥交给远程私有仓库配置ssh公钥。
- 虚拟机中准备好需要部署的工程文件
/data/base/
- 进入
/data/base/
目录,git init
创建本地仓库,然后关联刚刚新建的远程私有仓库。
注意:关联的时候使用命令:
ssh地址格式:ssh://git@ip地址:端口/python/meiduo.git
>>git remote add origin ssh://git@192.168.203.151:2222/python/meiduo.git
>>git push -u origin master
API token令牌
我们平时在进行访问仓库拉取代码的时候用的是公私钥的方式进行身份认证,现在我们使用API token令牌的方式进行身份认证。
1、在私有仓库的settings
设置里生成令牌,填写新crate创建会得到一个token值。
2、在Jenkins里添加凭据
3、现在有了令牌我们就可以在Jenkins构建任务的时候的配置时,无需使用公钥,仓库地址使用:
4、全局配置
6、最后就可以到主页中点击build now
执行任务,如果没有问题,就可以在浏览器中访问商城页面了。