简述
简单的说就是利用jenkins工具来查询我们github上的代码有无发生变化,当github上仓库代码发生变化的时候,jenkins就会根据我们预先设置的步骤帮助我们进行自动构建,并推送到我们的服务器上,推送后调用我们的写好的脚本进行部署,并且可以用dockerfile等脚本来进行docker容器的创建启动。
这篇文章的最终效果是在ubuntu 16系统中,搭建jenkins服务,定时(或githook)的方式从github上拉取maven工程,构建jar包,推送到服务器上,使用docker构建image并启动部署项目。
docker
首先是docker的安装
$ sudo apt-get update
$ sudo apt-get install \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
$ sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce
$ sudo systemctl enable docker
$ sudo systemctl start docker
docker的一些简单命令
构建一个容器
docker run --name container-name -d -p port1:port2 -it image-name:tagname
利用这个命令根据镜像创建容器 -d是端口的映射,-v是文件的映射。
而port1和port2是端口映射的部分,port1是宿主机的端口,port2是容器的端口,我们可以在宿主机上通过访问port1的方式访问port2。
容器删除
docker rm ...
列出所有存在的容器
用docker ps
可以列出容器
进入容器的终端
docker exec -it container-name bash
前提是容器中有终端才可以进入这个容器的终端。
宿主机的文件复制到容器
从主机复制到容器sudo docker cp host_path containerID:container_path
从容器复制到主机sudo docker cp containerID:container_path host_path
具体更复杂的使用就要去搜索了
(常用命令)
https://www.cnblogs.com/bethal/p/5945015.html
jenkins
在安装jenkins的时候,可以直接将jenkins安装到系统中,也可以将jenkins通过docker进行安装并启动。我是采用的第二种,如果通过docker来安装启动jenkins的话,后面部署的时候会遇到一些问题,因为我们在部署的时候要通过jenkins来运行脚本来部署我们的项目,而我们的项目又是通过docker创建容器来进行部署的,所以就相当