问题背景公司的初创技术团队,没有任何基础设施,需要构建一系列代码管理和自动化部署工具……于是触发了下面的一系列部署流程。耗时两天,中间遇到了各种问题,不过最终还是把基础工具都搭建成功了,耶~下面就带大家一起看看搭建过程吧。一台资源服务器,CentOS,公司给了一台配置低一点的服务器作为临时服务器,没办法,就这么干吧。心想:如果我用传统的yum安装,肯定会被我搞得一团糟,也不方便我管理和维护。我在两难的时候选择了Docker。有朋友可能会问Docker是什么,怎么用。不要在这里惊慌。传送门:Linuxdocker-compose实战【进阶】dockerorchestrationPHP开发环境测试环境搭建为了快速搭建一套PHP测试环境,我决定使用laradock,虽然文件很多,但是打包的东西比较齐全,不知道后面的开发会用到什么技术,所以决定先用这个,随时可以启动可用的服务。laradock官方文档给的介绍也很全面。我这里采用的方法是部署多套项目。目录结构如下:+laradock+project-1+project-2开始使用:gitclonehttps://github.com/laradock/l...cpenv-example.envenv.envenv中的配置可以修改并根据自己的情况进行调整。docker-composeup-dnginxphp-fpmmysqlredis后面可以跟你要启动的程序,比如rabbitmq,mongo等,需要的时候在最后加上即可启动。第一次启动时间有点长execnginxnginx-sreload肯定有人会问我改了nginx的配置,每次都要进入nginx容器重启,还是重启整个容器,不用,执行这个命令重启nginx。nginx站点配置文件在哪里:./laradock/nginx/sites/先运行试试。GitLab的运行环境搭建好了,我的代码应该怎么存储呢?其实有很多选择,要根据自己的实际情况,比如:GitHub、码云、GitLab等,我选择的是GitLab,一开始是没有的。发现其实laradock是提供GitLab服务的。.只能自己折腾了,其实很简单。docker\run-d\-p443:443\-p8080:80\-p222:22\--namegitlab\--restartalways\-v/home/gitlab/config:/etc/gitlab\-v/home/gitlab/logs:/var/log/gitlab\-v/home/gitlab/data:/var/opt/gitlab\gitlab/gitlab-ce#参数说明:#-d:让容器在后台运行#-p:暴露端口,将容器的443端口指向宿主机的443端口,宿主机8080->容器80,宿主机222->容器22#宿主机端口可以根据自己的情况自定义#-name为你的容器起个名字,只要和已有的不一样就可以#--restart容器退出时,docker是否重启?#-v这个是挂载磁盘,把宿主机的目录挂载到容器中,即使容器坏了我的内容也不会丢失。#宿主机/home/gitlab/config目录挂载到容器/etc/gitlab目录下,宿主机目录根据自身情况确定#gitlab/gitlab-ce这个是要启动的镜像。如果镜像不存在,docker会自动下载最新版本的容器启动成功后,会有一段时间启动GitLab。如果你看到启动成功,你将无法立即访问它。你可以稍等一下。配置文件可以在你指定的host目录下修改,需要修改的内容如下:gitlab_rails['gitlab_ssh_host']='hostIP'#gitlab_rails['gitlab_shell_ssh_port']的主机IP地址=222#暴露给主机的ssh端口external_url'domainname'#分配给gitlab的域名可以使用nginx在8080端口做反向代理Jenkins实现自动部署的方式有很多种,比如:webhook,Jenkins、TravisCI等,我选择的是Jenkins,这里还是用的,因为之前已经部署过了。Laradock仍然提供Jenkins服务,因为我没有找到自己构建的服务。..看来下次还得仔细看看再做。dockerrun-d\--namemyjenkins\-p8181:8080\-p50000:50000\-v/home/jenkins/:/var/jenkins_home\jenkins/jenkins#参数说明#-d:让容器运行在后台#-p:exposeport,host8181->container8080,host50000->container50000#-v这个是挂载磁盘,把宿主机的目录挂载到容器中,即使容器坏了内容也会不要丢失。#宿主机/home/jenkins/目录挂载到容器/var/jenkins_home目录下,宿主机目录也很简单根据自己的情况~。~,但是Jenkins安装成功后,会有一个初始化密码。如何查看初始化密码,有两种方式:#第一种方式dockerlogs
