今天给大家分享的是《领先的开源自动化服务器Jenkins的应用实战》之基于Docker安装构建Git/GitLab版本控制与代码云存储的场所;使用Git管理项目,springboot工程制作镜像知识体系,欢迎大家一起阅读!
Git/GitLab版本控制与代码云存储的场所
免费开源的分布式版本控制系统
本地离线存储:绝大多数操作都只需要访问本地文件和资源,不用连网,在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。
分布式:每一个 Git克隆 都是一个完整的文件库,含有全部历史记录和修订追踪能力,不依赖于网络连接或中心服务器。其最大特色就是“分支”及“合并”操作非常快速、简便。
免费开源:安装基于Apache,Ruby等免费开源软件, 旨在快速高效地处理无论规模大小的任何软件工程 ,商业用户无任何限制,完全放心使用。
安装启动docker
1、安装docke
# 1、yum 包更新到最新 yum update# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2# 3、 设置yum源yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 4、 安装docker,出现输入的界面都按 y yum install -y docker-ce# 5、 查看docker版本,验证是否验证成功docker -v
2、配置镜像加速器
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <
3、安装私有仓库
# 拉取镜像docker pull registry# 创建容器docker run -d -p 5000:5000 registry#配置私有仓库地址vim /etc/docker/daemon.json{"insecure-registries": ["192.168.200.133:5000"]}sudo systemctl daemon-reloadsudo systemctl restart docker#启动本地仓库容器docker start 容器ID
4、访问私有仓库
http://192.168.200.133:5000/v2/_catalog
如果访问不到,关闭防火墙:
systemctl stop firewalld
docker下gitlab安装配置使用
1、安装
#查找Gitlab镜像docker search gitlab#gitlab镜像拉取docker pull gitlab/gitlab-ce#查看本地镜像docker images#本机建立的3个目录#为了gitlab容器通过挂载本机目录启动后可以映射到本机,然后后续就可以直接在本机查看和编辑了,不用再进容器操作#配置文件mkdir -p /home/gitlab/etc#数据文件mkdir -p /home/gitlab/data#日志文件mkdir -p /home/gitlab/logs#启动容器docker run --name='gitlab' -d --publish 4443:443 --publish 8888:80 -v /home/gitlab/etc:/etc/gitlab -v /home/gitlab/data:/var/opt/gitlab -v /home/gitlab/logs:/var/log/gitlab gitlab/gitlab-ce:latest#查看启动日志docker logs -f gitlab
2、配置
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)
#配置域名或IP#配置gitlab.rbcd /home/gitlab/etcvim gitlab.rb#配置http协议所使用的访问地址,不加端口号默认为80external_url 'http://192.168.200.133'#配置gitlab.ymlcd /home/gitlab/data/gitlab-rails/etcvim gitlab.ymlgitlab: ## Web server settings (note: host is the FQDN, do not include http://) host: 192.168.200.133 port: 8888 https: false
3、初始化密码
gitlab 默认管理用户是root
登录:http://192.168.200.133:8888 登录修改root 的密码
4、登录
用户名 root 密码
5、创建项目
http-demo安装Git# 安装yum install -y git# 查看版本git version# git version 1.8.3.1
使用Git管理项目
1、使用idea从GitLab检出空项目
项目地址:http://192.168.200.133:8888/root/http-demo.git
2、复制项目并运行
idea中运行项目并访问:http://127.0.0.1:10000/user/1
3、提交代码到GitLab
在工程根目录创建 .gitignore,此文件中记录了在提交代码时哪些文件或目录被忽略
.idea/target/*.iml
Springboot工程制作镜像
1、SpringBoot运行Jar包
使用maven的打包插件
将下边的插件依赖拷贝到微服务工程中
org.springframework.bootspring-boot-maven-plugin
使用maven打包并运行访问微服务工程
java -jar http-demo-1.0-SNAPSHOT.jar
2、创建Docker镜像
在linux上新建一个目录,将上一步的jar包拷贝到Linux服务器,准备创建镜像。
cd /homemkdir icoding测试jar包是否可以运行,执行:java -jarjava -jar http-demo-1.0-SNAPSHOT.jar访问:http://192.168.200.133:10000/user/1
在http-demo-1.0-SNAPSHOT.jar所在文件夹位置编写Dockerfile文件
vim DockerfileFROM java:8# VOLUME 指定了临时文件目录为/tmp。# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmpVOLUME /tmp# 将jar包添加到容器中并更名为app.jarADD http-demo-1.0-SNAPSHOT.jar app.jar# 运行jar包RUN bash -c 'touch /app.jar'ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
在Dockerfile文件所在目录创建镜像
docker build -t http-demo:1.0-SNAPSHOT .
查看镜像
docker images
3、创建启动容器
基于http-demo:1.0-SNAPSHOT镜像创建容器,容器名称为http-demo
docker run -d -p 10000:10000 http-demo:1.0-SNAPSHOT
容器创建成功,可通过docker ps -a命令查看
4、访问页面
http://192.168.200.133:10000/user/1
5、 停止与删除
停止容器 删除容器 删除镜像
6、 使用maven构建镜像
上边构建的过程是通过手工一步一步完成,maven提供docker-maven-plugin插件可完成从打包到构建镜像、构建容器等过程。
(1)编写pom_docker.xml
<?xml version="1.0" encoding="UTF-8"?>4.0.0org.springframework.bootspring-boot-starter-parent2.1.5.RELEASEcom.icodinghttp-demo1.0-SNAPSHOT1.8org.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testorg.projectlomboklombokorg.springframework.bootspring-boot-maven-plugincom.spotifydocker-maven-plugin1.0.0${project.artifactId}${project.basedir}/src/main/resources${project.version}/${project.build.directory}${project.artifactId}-${project.version}.jar
(2 )拷贝Dockerfile文件
(3 )在IDEA中提交修改的文件
(4) lclone最新项目
git clone http://192.168.200.133:8888/root/http-demo.git
(5 )打包构建镜像
#进入工程目录cd http-demo#打包构建镜像mvn -f pom_docker.xml clean package -DskipTests docker:build
(6)创建启动容器
基于http-demo:1.0-SNAPSHOT镜像创建容器,容器名称为http-demo
docker run -d -p 10000:10000 http-demo:1.0-SNAPSHOT
容器创建成功,可通过docker ps -a命令查看
(7) 访问页面
http://192.168.200.133:10000/user/1