一、添加本地镜像仓库并将构建好的镜像push进来
- 之前我们创建的test项目实现了根据gitlab的dockerfile进行自动构建镜像的功能,接下来我们要
在之前功能的基础之上添加本地镜像仓库,能够在完成镜像构建之后将镜像push到本地镜像仓库
环境准备
- 查看gitlab状态,确保可用
- 拉取仓库镜像registry(制品库)
- 启动容器,并设置卷挂载与端口映射
项目配置更改
构建测试
二、创建新项目,完成自动启动容器
- 我们需要达到这样的目的:
创建新项目docker,能够在test项目完成后触发docker项目,完成容器的自动化构建
流水线:
git -> push -> gitlab -> triger -> jenkins -> test1(from dokcerfile to build images and push images to registry) -> triger -> docker(docker run container)
创建docker项目并做相应配置
手动触发docker项目并查看控制台输出
本地查看是否有容器启动
三、在远程环境构建
- 上面的实验我们最终都是在本地jenkins服务器上完成了构建,比如镜像构建、容器启动,这些都在jenkins服务器上,
这样会造成本地压力过大并且没什么意义,在生产环境中是不可取的,常常需要在远程主机上执行任务
开启新的节点,安装docker并作相应配置
dokcer insecure-registry配置
参考链接:
https://www.cnblogs.com/gcgc/p/10489385.html.
jenkins中安装ssh插件用作远程交付
需要在jenkins中配置安全许可凭证,以用户密码的方式添加,指定远程主机和端口(22)
更改jenkins中创建的docker项目的构建条件
在server1上做测试,修改index.html并提交,push到gitlab仓库中
查看server2上是否创建了新的镜像。server3上是否启动了新的容器,并使用curl localhost测试,看是否能看到修改后的测试页面