问题背景公司初创技术团队,没有任何基础设施,需要搭建一系列代码管理和自动化部署的工具...所以下面的系列被触发部署过程持续了两天,中间遇到了各种问题,不过最终基本工具都搭建成功了,耶~,下面就带大家一起看看搭建过程吧。一台资源服务器,CentOS,公司给了一台配置低一点的服务器作为临时服务器,没办法,就这么干吧。心想:如果我用传统的yum安装,肯定会被我搞得一团糟,也不方便我管理和维护。我在两难的时候选择了Docker。有朋友可能会问Docker是什么,怎么用。不要在这里惊慌。传送门:Linuxdocker-compose实战,【进阶】docker整理PHP开发环境测试环境搭建图片说明为了快速搭建PHP测试环境,我决定使用laradock。虽然文件很多,但是打包的东西比较齐全,不知道后期开发会用到什么技术,所以决定先用这个,随时可以启动可用的服务。laradock官方文档给的介绍也很全面。我这里采用的方法是部署多套项目。目录结构如下:laradockproject-1project-2开始使用:gitclonehttps://github.com/laradock/l...cpenv-example.envenv中的配置可以根据自己的情况修改调整.docker-composeup-dnginxphp-fpmmysqlredis后面可以跟你要启动的程序,比如rabbitmq,mongo等,需要的时候在最后加上即可启动,第一次启动的时候有点长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。如果你看到启动成功,你将无法立即访问它。稍等片刻。可以在您指定的主机目录中修改配置文件。需要修改的内容如下:gitlab_rails['gitlab_ssh_host']='主机IP'#主机IP地址gitlab_rails['gitlab_shell_ssh_port']=222#暴露给主机的ssh端口external_url'域名'#The分配给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
