搭建基础自动化部署

基于laradock快速搭建一套 PHP 测试环境。

概念

Laradock是运行在Docker上的PHP开发环境。

快速安装

1、克隆Laradock

git clone https://github.com/Laradock/laradock.git

2、复制一份配置文件

cp env-example .env

修改这项配置,指的是在当前目录的上级的wwwroot目录。
这个目录主要是项目目录,例如: ./wwwroot/laravel,表示laravel项目的路径。

# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../wwwroot/

 3、安装启动程序:

docker-compose up -d nginx php-fpm mysql redis

尾部可添加你要启动的程序,像 rabbitmq、mongo 等等,需要的时候追加在尾部就可以启动,首次启动时间有点长;

注意:Laradock5.5版本之后的MySQL版本是8.0,所以不能直接用root用户连接数据库,需要创建其他用户,再连接数据库。

4、启动workspace容器

docker-compose up -d workspace

  进入workspace容器的命令:

docker-compose exec workspace bash

5、docker-compose exec nginx nginx-s reload

GitLab

现在运行环境已经搭建完成,那么代码应该怎么存放?其实有多种选择,要根据自己的实际情况出发,如:GitHub、码云、GitLab 等等,此处选择GitLab。

docker \
run -d  \
-p 443:443 \
-p 8080:80 \
-p 222:22 \
--name gitlab \
--restart always \
-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 '域名' # 分配给gitlab的域名,可以用nginx做反向代理到8080端口

Jenkins

实现自动化部署有很多种方式如:webhook、Jenkins、Travis CI 等等,我的选择是 Jenkins,laradock 提供Jenkins 服务。

docker run -d \
  --name myjenkins \
  -p 8181:8080 \
  -p 50000:50000 \
  -v /home/jenkins/:/var/jenkins_home \
  jenkins/jenkins
     
#参数解释
     
# -d:让容器后台运行
     
# -p:暴露端口,宿主机8181->容器8080,宿主机50000->容器50000
     
# -v 这就是挂载磁盘了,把宿主机的目录挂载到容器中,这么做哪怕是容器坏了我的内容也不会丢失。
     
# 宿主机/home/jenkins/目录挂载到容器中/var/jenkins_home目录,宿主机目录根据自己情况定

查看初始化密码呢,有两种方式:

# 第一种方式
docker logs <你的容器名字> 
# 这样就可以查看容器输出的内容
# 第二种方式
cat /home/jenkins/secrets/initialAdminPassword
# 这里好的/home/jenkins需要替换成你挂载的目录

jenkins 配置

初始化

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

附录:

(一)、解决docker-compose 命令不存在、未找到命令错误:
1.安装扩展源

sudo yum -y install epel-release

2.安装python-pip模块

sudo yum install python-pip

3.查看docker-compose版本

docker-compose version

# 提示未找到命令

4.通过以命令进行安装

cd /usr/local/bin/

wget https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-Linux-x86_64

rename docker-compose-Linux-x86_64 docker-compose docker-compose-Linux-x86_64

chmod +x /usr/local/bin/docker-compose

5.再通过docker-compose version命令进行查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值